예제 #1
0
        public ActionResult Login(LoginVM loginUser)
        {
            string OldHASHValue = string.Empty;

            byte[] SALT = new byte[saltLengthLimit];

            try
            {
                using (db = new JobPortalEntities())
                {
                    // Ensure we have a valid viewModel to work with
                    if (!ModelState.IsValid)
                    {
                        return(View(loginUser));
                    }

                    //Retrive Stored HASH Value From Database According To Username (one unique field)
                    var userInfo = db.Users.Where(s => s.UserName == loginUser.Username.Trim()).FirstOrDefault();

                    //Assign HASH Value
                    if (userInfo != null)
                    {
                        OldHASHValue = userInfo.HASH;
                        SALT         = userInfo.SALT;
                    }

                    bool isLogin = CompareHashValue(loginUser.Password, loginUser.Username, OldHASHValue, SALT);

                    if (isLogin)
                    {
                        //Login Success
                        //For Set Authentication in Cookie (Remeber ME Option)
                        //SignInRemember(entity.Username, entity.isRemember);

                        //Set A Unique ID in session
                        Session["UserID"]   = userInfo.UserID;
                        Session["UserName"] = userInfo.UserName;
                        Session["Fullname"] = userInfo.Name;

                        // If we got this far, something failed, redisplay form
                        // return RedirectToAction("Index", "Dashboard");
                        return(RedirectToLocal(loginUser.ReturnURL));
                    }
                    else
                    {
                        //Login Fail
                        TempData["ErrorMSG"] = "Access Denied! Wrong Credential";
                        return(View(loginUser));
                    }
                }
            }
            catch
            {
                throw;
            }
        }
예제 #2
0
 public ActionResult Register(SignupVM signupUser)
 {
     if (ModelState.IsValid)
     {
         using (db = new JobPortalEntities())
         {
             User user = new User();
             user.Name     = signupUser.Name;
             user.UserName = signupUser.Username;
             byte[] salt = Get_SALT();
             user.SALT = salt;
             user.HASH = Get_HASH_SHA512(signupUser.Password, signupUser.Username, salt);
             db.Users.Add(user);
             db.SaveChanges();
             ModelState.Clear();
             user            = null;
             ViewBag.Message = "Registration Successfull";
         }
     }
     return(View(signupUser));
 }
예제 #3
0
 // GET: Job
 public ActionResult Index()
 {
     db = new JobPortalEntities();
     return(View(db.JobDetails.ToList()));
 }