コード例 #1
0
        public ActionResult Login(LoginModel model, string returnUrl)
        {
            if (ModelState.IsValid && WebSecurity.Login(model.UserName, model.Password, persistCookie: model.RememberMe))
            {
                return RedirectToLocal(returnUrl);
            }

            // 如果我们进行到这一步时某个地方出错,则重新显示表单
            ModelState.AddModelError("", "提供的用户名或密码不正确。");
            return View(model);
        }
コード例 #2
0
 public void Autorization(LoginModel model,int Id)
 {
     ClaimsIdentity claim = new ClaimsIdentity("ApplicationCookie", ClaimsIdentity.DefaultNameClaimType, ClaimsIdentity.DefaultRoleClaimType);
     claim.AddClaim(new Claim(ClaimTypes.NameIdentifier, Id.ToString(), ClaimValueTypes.String));
     claim.AddClaim(new Claim(ClaimsIdentity.DefaultNameClaimType, model.Name, ClaimValueTypes.String));
     claim.AddClaim(new Claim("http://schemas.microsoft.com/accesscontrolservice/2010/07/claims/identityprovider",
         "OWIN Provider", ClaimValueTypes.String));
     claim.AddClaim(new Claim(ClaimsIdentity.DefaultRoleClaimType, model.Role, ClaimValueTypes.String));
     AuthenticationManager.SignOut();
     AuthenticationManager.SignIn(new AuthenticationProperties
     {
         IsPersistent = true
     }, claim);
 }
コード例 #3
0
 public ActionResult Login(LoginModel model)
 {
     if (ModelState.IsValid)
     {
         if (accountservice.UserExist(model.Name))
         {
             var user = accountservice.GetUserByName(model.Name);
             bool isrole = accountservice.CheckUserForRole(model.Name,model.Role);
             if (isrole && Crypto.VerifyHashedPassword(user.Password, model.Password))
             {
                 authenticate.Autorization(model, user.Id);
                 return RedirectToAction("Index", "Home");
             }
         }
         else
         {
             ModelState.AddModelError("", "Пользователя с таким логином и паролем нет");
             
         }
     }
     ModelState.AddModelError("", "Incorrect input data");
     ViewBag.Roles = accountservice.GetAllNames();
     return View();
 }