저는 .NET과 보안이 매우 새로 도입되었습니다. 양식 인증을 구현하기로했습니다 (다른 것을 사용해야하는 경우 수정하십시오). 내가 인터넷에서 수집 한 바로는, 나는 다음과 같은했지만 제대로 동작하지 않습니다 :MVC5 양식 인증이 작동하지 않습니다.
의 Web.config
을<authentication mode="Forms">
<forms loginUrl="~/Home/Index" timeout="30" />
</authentication>
HTTPPost 아약스 로그인 방법 : UserService 실제 로그인 코드와
[HttpPost]
public ActionResult Login(LoginInputModel loginModel)
{
if (ModelState.IsValid)
{
var success = UserService.Login(loginModel.Password, loginModel.Email);
if (success)
{
return Json(new { Url = Url.Action("Index","Home") });
}
loginModel.ErrorMessages = "Failed to log in with these credentials. Please try again.";
return PartialView("Widgets/Login/_LoginInput", loginModel);
}
return PartialView("Widgets/Login/_LoginInput", loginModel);
}
클래스 :
public static bool Login(string password, string email)
{
var user = Connector.GetUserByCredentials(password, email);
if (user == null) return false;
FormsAuthentication.SetAuthCookie(email, false); // this line
SessionService.Delete(UserSessionKey);
SessionService.Store(UserSessionKey, UserMapper.DbUserToUser(user));
return SessionService.HasKey(UserSessionKey);
}
로그인 할 때마다 페이지가 새로 고쳐집니다. 나는 다른 내용을 보았습니다.)하지만 다른 페이지로 이동하면 다시 로그인 페이지로 리디렉션됩니다. 나는 무엇을 잘못하고 있는가?
더 많은 코드가 필요하면 기꺼이 게시 해 드리겠습니다.
은 왜 <형태 loginUrl = "~/홈/색인"타임 아웃 = "30"/>''합니까이 줄을 제거해야? 예를 들어 컨트롤러의'Login()'메소드 여야합니다./Account/Login' –
Home/Index는 계정/로그인으로가는 로그인 위젯을 포함하고있는 첫 번째 페이지입니다. 로그인 페이지로 리디렉션하고 싶다면 Home/Index – PoeHaH