다음은 나의 코드 예제입니다.폼 인증 보안
이것은 사용자에게만 공개하고 싶은 페이지입니다. 그것은하지 중요한 정보가 저장되어있어하지만 난 그게 싶습니다
[HttpPost]
public ActionResult Login(LoginViewModel model)
{
if (!ModelState.IsValid)
return View(model);
var exs = _service.ValidateUser(model.EmailAddress, model.Password);
if (exs.Any())
{
AddModelExceptionsToModelState(ModelState, exs);
return View(model);
}
FormsAuthentication.SetAuthCookie(model.EmailAddress,model.RemeberMe);
return RedirectToAction("Profile");
}
내가 뭐하는 거지의 보안 확실하지 않다 :
[Authorize]
public ActionResult Profile()
{
HttpCookie authCookie = Request.Cookies[FormsAuthentication.FormsCookieName];
FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(authCookie.Value);
var users = _service.Get().Where(x => x.EmailAddress.ToLower() == ticket.Name);
var user = users.First();
return View(user);
}
이것은 내 사용자가 로그인하는 방법이다 안전한.
위의 로그인/승인 방법은 안전하고 사용하기에 안전합니까?
그렇다면 로그인 한 사용자를 반환하는 방법을 어떻게 만들 수 있습니까? 추상 컨트롤러 클래스에서이 작업을 수행 한 후이 작업을 수행하는 것이 가장 좋습니다.
사용자의 로그인 및 로그 아웃을 처리하는 더 좋은 방법이 있습니까?
저는 Entity Framework 및 MVC5를 사용하고 있습니다. 참고 나는이 프로젝트 내에서 허용되지 않기 때문에 회원 데이터베이스를 사용할 수 없다.
mvc5에서 제공되는 새로운 유형의 멤버십을 사용하십시오. 구체적인 유형을 사용하지 말고 직접 인터페이스를 구현하십시오. 오픈 소스이므로 표준 회원 활동을 수행하는 방법에 대한 단서를 얻을 수 있습니다. – DrinkBird
올바른 방향으로 나를 가리킬 수 있습니까? – LmC
정말 codereview.stackexchange.com에 속해 있습니다. –