2009-12-23 3 views
2

onloggedin에 대한 이벤트 처리기가있는 .Net Login Control이 있습니다..Net 로그인 onloggedin, User.Identity null입니까?

onloggedin="Login2_LoggedIn" 

그러나 User.Identity는 항상 null입니다.

protected void Login2_LoggedIn(object sender, EventArgs e) 
{ 
    // Is User is Admin 
    if (Roles.IsUserInRole(User.Identity.Name, "admin")) 

이 시점에서 사용할 수 있습니까? 또는 개체 보낸 사람이나 EventArgs에서 사용자 이름을 가져야합니까?

답변

8

Page.User는 인증 후 페이지가 다시 게시 될 때까지 사용할 수 없으므로 로그인 컨트롤을 호스팅하는 페이지에서 null입니다. 그러나 여전히 로그인 컨트롤의 UserName 속성을 사용하여 메서드를 호출 할 수 있습니다. 이 시점에서 사용자가 인증되었으므로 LoggedIn 이벤트 처리기에서 수행하는 것이 안전합니다.

if (Roles.IsUserInRole(Login2.UserName, "admin")) 
... 
관련 문제