2012-12-07 6 views
2

MVC 4의 새로운 기능이며 멤버쉽이 얼마나 간단한지를 정확히 이해할 수 없습니다. 모든 구성 후, 나는 그것이 어떻게 작동하는지 볼 수 AccountController에이 코드를 삽입하고 모든MVC 4 간단한 멤버십입니다. 확인하는 방법 누군가 로그인했는지 여부

string UserName1 = WebSecurity.CurrentUserName; 
bool LoginResult= WebSecurity.Login("admin", "111111"); 
string UserName2 = WebSecurity.CurrentUserName; 
WebSecurity.Logout(); 

에서 일을하다 내가 디버거를 실행할 때 나는 결국

UserName1 = "" 
LoginResult = true 
UserName2 = "" 

모든 것이 USERNAME2 제외하고 괜찮 완료 볼 . 왜 그것이 비어 있습니까? 로그인이 실패했습니다 ... WebSecurity 및 WebSecurity.IsAuthenticatedated에서 UserID를 볼 수 없습니다. 로그인에 성공했지만 WebSecurity에서 전혀 표시하지 않는 이유는 무엇입니까?

답변

1

로그인하면 생각했던대로 작동하지 않습니다. 현재 사용자를 즉시 ​​설정하는 대신 사용자 웹 브라우저에 쿠키를 설정하고 다음 페이지 새로 고침시 asp.net은 쿠키를 인식하고 인증 된 요청을 제공합니다.

이것은 단순 멤버십에만 해당되는 것이 아니며, asp.net에서 모든 인증이 작동하는 방식입니다. 일단 인증되면 로그인을 인식 할 수 있도록 페이지를 새로 고쳐야합니다.