2

ASP.Net MVC3 앱이 있습니다. LogIn 작업이 호출되면 MembershipProvider를 사용하여 사용자와 FormsAuthentication의 유효성을 검사하여 쿠키를 설정합니다.ASP.Net MVC3 FormsAuthentication 전체 로그인 이벤트

또한 데이터베이스에서 사용자에 대한 정보를 얻고 세션에 저장합니다.

사용자가 계속 사이트를 방문하면 이미 쿠키를 통해 인증 된 상태가되어 데이터베이스에 대한 사용자 정보를 다시 가져올 수 있도록 연결을 시도하고 있습니다.

HttpApplication.AuthorizeRequest()가이를 수행하는 가장 좋은 장소입니까? 분명히 이것은 모든 요청에 ​​대해 호출 되었기 때문에 로그인 후에 명시 적으로 또는 자동으로 인증 될 때 사용자가 인증되었음을 나타낼 수있는 무언가가 있었으면합니다.

답변

1

모든 요청에 ​​대해 트리거되는 이벤트가 여러 개 있으므로 HttpApplication.AuthorizeRequest()이 작동해야합니다. 사용자가 인증되면 사용자 만 로그인 한 데이터베이스에서 인출하기 위해

만 설정됩니다 User.IdentityName 속성을 확인할 수 있습니다

if(!string.IsEmpty(User.Identity.Name)) 
{ 
//make call to database 
}