var query = from p in AdminModelContext.Users
where p.UserName == model.UserName && p.Password == encryptPassword
&& p.IsDeleted == false
select p;
IList<Users> userList = query.ToList();
if (userList.Count() > 0)
{
FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe);
if (CheckUrl(returnUrl))
{
return Redirect(returnUrl);
}
SetRoleForUser(userList[0].RolesId);
LoggerService.Info(string.Format("Login Successful for the user : {0}",
model.UserName));
return RedirectToAction("Index", "Home");
}
내 웹 사이트를 통해 로그인하려면 다음 코드를 사용하고 있습니다. 내가 직면하고있는 문제는 특정 브라우저에서 사용자와 로그인하고 다른 브라우저에서 다른 사용자와 동시에 로그인 한 다음 다른 브라우저에서 로그인 한 사용자를 삭제할 때 발생합니다. 여전히 삭제 된 사용자가 로그인 한 페이지를 탐색 할 수 있습니다.삭제 된 사용자가 다른 브로슈어에서 삭제 한 후에도 로그인했습니다.
모든 페이지에 인증 논리를 적용하는 데 필요한 적절한 솔루션을 찾을 수 없습니다. 내 웹 사이트는 MVC 모델이며 양식 기반 인증을 사용합니다.
로그인 한 사용자 세션 유효성 검사를 어떻게 수행하고이를 수행 할 수 있는지 제안하십시오.
, 문제는 여전히 사용자의 컴퓨터에 유효한 인증 티켓, 그래서이 코드가 실행되지 않습니다. Global.asax, Session_Start 이벤트에서 사용자가 삭제 한 상태인지 확인하는 것이 좋습니다. – hazimdikenli
사용이 삭제되면 FormsAuthentication.SignOut (또는 그와 비슷한 Session.Abandon)을 수행하십시오. – hazimdikenli
글쎄, 당신의 문제가 그렇게 간단하지 않은 것처럼 보입니다. – hazimdikenli