{"id":8205,"date":"2023-01-26T14:33:07","date_gmt":"2023-01-26T05:33:07","guid":{"rendered":"https:\/\/www.auctionpro.co.kr\/?p=8205"},"modified":"2023-01-26T14:34:42","modified_gmt":"2023-01-26T05:34:42","slug":"asp-db-login","status":"publish","type":"post","link":"https:\/\/www.auctionpro.co.kr\/?p=8205","title":{"rendered":"ASP DB Login"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Overview : MVC + Login Sample<\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.auctionpro.co.kr\/wp-content\/uploads\/2023\/01\/image-4.png\"><img loading=\"lazy\" decoding=\"async\" width=\"539\" height=\"716\" src=\"https:\/\/www.auctionpro.co.kr\/wp-content\/uploads\/2023\/01\/image-4.png\" alt=\"\" class=\"wp-image-8208\" srcset=\"https:\/\/www.auctionpro.co.kr\/wp-content\/uploads\/2023\/01\/image-4.png 539w, https:\/\/www.auctionpro.co.kr\/wp-content\/uploads\/2023\/01\/image-4-226x300.png 226w\" sizes=\"auto, (max-width: 539px) 100vw, 539px\" \/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">DB- employee<\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.auctionpro.co.kr\/wp-content\/uploads\/2023\/01\/image-2.png\"><img loading=\"lazy\" decoding=\"async\" width=\"393\" height=\"221\" src=\"https:\/\/www.auctionpro.co.kr\/wp-content\/uploads\/2023\/01\/image-2.png\" alt=\"\" class=\"wp-image-8206\" srcset=\"https:\/\/www.auctionpro.co.kr\/wp-content\/uploads\/2023\/01\/image-2.png 393w, https:\/\/www.auctionpro.co.kr\/wp-content\/uploads\/2023\/01\/image-2-300x169.png 300w\" sizes=\"auto, (max-width: 393px) 100vw, 393px\" \/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Employee Model<\/h2>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:c# decode:true \">using System;\nusing System.ComponentModel;\nusing System.ComponentModel.DataAnnotations;\nusing System.ComponentModel.DataAnnotations.Schema;\n\nnamespace PRODUCT.Models\n{\n    public class Employee\n    {\n        [Key]\n        [Display(Name = \"\uc9c1\uc6d0 \uc77c\ub828\ubc88\ud638\")]\n        public int IDX { get; set; }\n\n        [Display(Name = \"ID\")]\n        public string LOGIN_ID { get; set; }\n\n        [Display(Name = \"\ube44\ubc00\ubc88\ud638\")]\n        public string PASSWORD { get; set; } = \" \";\n\n        [Display(Name = \"\uc131\uba85\")]\n        public string EMPLOYEE_NAME { get; set; } = \" \";\n        \n        [DefaultValue(true)]\n        [Display(Name = \"\ubd80\uc11c\")]\n        public int DEPART_ID { get; set; } = 1;\n\n        [DefaultValue(true)]\n        [Display(Name = \"\ube44\uace0\")]\n        public string NOTE { get; set; } = \" \";\n\n        [DefaultValue(true)]\n        [Display(Name = \"\ub4f1\ub85d\uc77c\")]\n        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]\n        [DataType(DataType.Date)]\n        [DisplayFormat(DataFormatString = \"{0:yyyy-MM-dd HH:mm}\", ApplyFormatInEditMode = false)]\n        public DateTime REGI_DATE { get; set; }\n    }\n}<\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Login View<\/h2>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:c# decode:true \">@model PRODUCT.Models.Employee\n\n@{\n\tViewData[\"Title\"] = \"Index\";\n}\n\n&lt;div class=\"container\"&gt;\n\t&lt;div class=\"d-flex justify-content-center h-100\"&gt;\n\t\t&lt;div class=\"card\"&gt;\n\t\t\t&lt;div class=\"card-header\"&gt;\n\t\t\t\t&lt;h3&gt;Sign In&lt;\/h3&gt;\n\t\t\t\t&lt;div class=\"d-flex justify-content-end social_icon\"&gt;\n\t\t\t\t\t&lt;span&gt;&lt;i class=\"fab fa-facebook-square\"&gt;&lt;\/i&gt;&lt;\/span&gt;\n\t\t\t\t\t&lt;span&gt;&lt;i class=\"fab fa-google-plus-square\"&gt;&lt;\/i&gt;&lt;\/span&gt;\n\t\t\t\t\t&lt;span&gt;&lt;i class=\"fab fa-twitter-square\"&gt;&lt;\/i&gt;&lt;\/span&gt;\n\t\t\t\t&lt;\/div&gt;\n\t\t\t&lt;\/div&gt;\n\n\t\t\t&lt;div class=\"card-body\"&gt;\n\t\t\t\t@using (Html.BeginForm(\"Index\", \"Employees\", FormMethod.Post))\n\t\t\t\t{\n\t\t\t\t\tif (ViewBag.LoginStatus != null)\n\t\t\t\t\t{\n\t\t\t\t\t\tif (ViewBag.LoginStatus == 0)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t&lt;div class=\"alert alert-danger\"&gt;Login \uc815\ubcf4\uac00 \uc815\ud655\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.&lt;\/div&gt;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t&lt;div class=\"input-group form-group\"&gt;\n\t\t\t\t\t\t&lt;div class=\"input-group-prepend\"&gt;\n\t\t\t\t\t\t\t&lt;span class=\"input-group-text\"&gt;&lt;i class=\"fas fa-user\"&gt;&lt;\/i&gt;&lt;\/span&gt;\n\t\t\t\t\t\t&lt;\/div&gt;\n\t\t\t\t\t\t@Html.TextBoxFor(model =&gt; model.LOGIN_ID, new { @class = \"form-control\", @placeholder = \"ID\" })\n\t\t\t\t\t&lt;\/div&gt;\n\n\t\t\t\t\t&lt;div class=\"input-group form-group\"&gt;\n\t\t\t\t\t\t&lt;div class=\"input-group-prepend\"&gt;\n\t\t\t\t\t\t\t&lt;span class=\"input-group-text\"&gt;&lt;i class=\"fas fa-key\"&gt;&lt;\/i&gt;&lt;\/span&gt;\n\t\t\t\t\t\t&lt;\/div&gt;\n\t\t\t\t\t\t@Html.PasswordFor(model =&gt; model.PASSWORD, new { @class = \"form-control\", @placeholder = \"\ube44\ubc00\ubc88\ud638\" })\n\t\t\t\t\t&lt;\/div&gt;\n\n\t\t\t\t\t&lt;div class=\"row align-items-center remember\"&gt;\n\t\t\t\t\t\t&lt;input type=\"checkbox\"&gt;Remember Me\n\t\t\t\t\t&lt;\/div&gt;\n\n\t\t\t\t\t&lt;div class=\"form-group\"&gt;\n\t\t\t\t\t\t&lt;input type=\"submit\" value=\"Login\" class=\"btn float-right login_btn\"&gt;\n\t\t\t\t\t&lt;\/div&gt;}\n\t\t\t&lt;\/div&gt;\n\n\t\t\t&lt;div class=\"card-footer\"&gt;\n\t\t\t\t&lt;div class=\"d-flex justify-content-center links\"&gt;\n\t\t\t\t\tID\uac00 \uc5c6\uc73c\uba74 SD\uc5d0 \uc694\uccad \ubc14\ub78d\ub2c8\ub2e4.\n\t\t\t\t&lt;\/div&gt;\n\t\t\t\t&lt;div class=\"d-flex justify-content-center\"&gt;\n\t\t\t\t\t\ube44\ubc00\ubc88\ud638\ub97c \uc78a\uc5b4\ubc84\ub838\uc2b5\ub2c8\uae4c?\n\t\t\t\t&lt;\/div&gt;\n\t\t\t&lt;\/div&gt;\n\t\t&lt;\/div&gt;\n\n\t&lt;\/div&gt;\n\n&lt;\/div&gt;\n<\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Login Control<\/h2>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:c# decode:true \">using System.Linq;\nusing System.Threading.Tasks;\nusing Microsoft.AspNetCore.Mvc;\nusing Microsoft.EntityFrameworkCore;\nusing PRODUCT.Data;\nusing PRODUCT.Models;\n\nnamespace REGRULE.Controllers\n{\n    public class EmployeesController : Controller\n    {\n        private readonly VariableContext _context;\n\n        public EmployeesController(VariableContext context)\n        {\n            _context = context;\n        }\n\n        \/\/ GET: Employees\n        public IActionResult Index()\n        {\n            \/\/return View(await _context.Employee.ToListAsync());\n            Employee _employee = new Employee();\n            \n            return View(_employee);\n        }\n\n        \/\/POST: Employees\n        [HttpPost]\n        public IActionResult Index(Employee employee)\n        {\n            var status = _context.Employee.Where(m =&gt; m.LOGIN_ID == employee.LOGIN_ID &amp;&amp; m.PASSWORD == employee.PASSWORD).FirstOrDefault();\n            if (status == null)\n            {\n                ViewBag.LoginStatus = 0;\n            }\n            else\n            {\n                return RedirectToAction(\"index\", \"ProductDisplay\");\n            }\n\n            return View(employee);\n        }\n   }\n}<\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Note : context.Database.EnsureCreated()\ub294 \ucee8\ud14d\uc2a4\ud2b8\uc5d0 \ub300\ud55c \ub370\uc774\ud130\ubca0\uc774\uc2a4\uac00 \uc874\uc7ac\ud558\ub294\uc9c0 \ud655\uc778\ud558\ub294 \uc0c8\ub85c\uc6b4 EF \ud575\uc2ec \uba54\uc11c\ub4dc\uc785\ub2c8\ub2e4. \uc874\uc7ac\ud558\ub294 \uacbd\uc6b0 \uc544\ubb34 \uc870\uce58\ub3c4 \ucde8\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc874\uc7ac\ud558\uc9c0 \uc54a\ub294 \uacbd\uc6b0 \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc640 \ubaa8\ub4e0 \uc2a4\ud0a4\ub9c8\uac00 \uc0dd\uc131\ub418\uace0 \uc774 \ucee8\ud14d\uc2a4\ud2b8\uc5d0 \ub300\ud55c \ubaa8\ub378\uacfc \ud638\ud658\ub418\ub294\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">DbInitializer.cs<\/h2>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><\/div>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:c# decode:true \">namespace PRODUCT.Data\n{\n    public class DbInitalizer\n    {\n        public static void Initialize(VariableContext context)\n        {\n            context.Database.EnsureCreated();\n           \n        }\n\n    }\n}<\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Note : OnModelCreating(DbModelbuilder modelbuilder) \uba54\uc11c\ub4dc\uc5d0\uc11c \uad00\uacc4\ub97c \uc9c0\uc815\ud574\uc57c \ud569\ub2c8\ub2e4. \ub530\ub77c\uc11c \ubaa8\ub378\uc774 \ucc98\uc74c \uc0dd\uc131\ub420 \ub54c \uc5d4\ud130\ud2f0 \uac04\uc758 \uad00\uacc4\ub97c \uc720\uc9c0\ud574\uc57c \ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:c# decode:true \">using PRODUCT.Models;\nusing Microsoft.EntityFrameworkCore;\n\nnamespace PRODUCT.Data\n{\n    public class VariableContext : DbContext\n    {\n        public VariableContext(DbContextOptions&lt;VariableContext&gt; options) \n            : base(options)\n        {\n        }\n\n        public DbSet&lt;Variable_Data&gt; Variable_Datas { get; set; }\n        public DbSet&lt;Employee&gt; Employee { get; set; }\/\/Employee\n\n        protected override void OnModelCreating(ModelBuilder modeBuilder)\n        {\n            modeBuilder.Entity&lt;Variable_Data&gt;().ToTable(\"VARIABLE_DATA\");\n            modeBuilder.Entity&lt;Employee&gt;().ToTable(\"Employee\");\/\/Employee\n        }\n\n    }\n}\n<\/pre><\/div>\n","protected":false},"excerpt":{"rendered":"<div class=\"mh-excerpt\"><p>Overview : MVC + Login Sample DB- employee Employee Model Login View Login Control Note : context.Database.EnsureCreated()\ub294 \ucee8\ud14d\uc2a4\ud2b8\uc5d0 \ub300\ud55c \ub370\uc774\ud130\ubca0\uc774\uc2a4\uac00 \uc874\uc7ac\ud558\ub294\uc9c0 \ud655\uc778\ud558\ub294 \uc0c8\ub85c\uc6b4 EF \ud575\uc2ec <a class=\"mh-excerpt-more\" href=\"https:\/\/www.auctionpro.co.kr\/?p=8205\" title=\"ASP DB Login\">[&#8230;]<\/a><\/p>\n<\/div>","protected":false},"author":6,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[10],"tags":[],"class_list":["post-8205","post","type-post","status-publish","format-standard","hentry","category-devc"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.auctionpro.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/8205","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.auctionpro.co.kr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.auctionpro.co.kr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.auctionpro.co.kr\/index.php?rest_route=\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/www.auctionpro.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=8205"}],"version-history":[{"count":0,"href":"https:\/\/www.auctionpro.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/8205\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.auctionpro.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=8205"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.auctionpro.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=8205"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.auctionpro.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=8205"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}