2012-09-14 5 views
0

나는 다음과 같은 코드를 사용하여 모든 페이지에 필드를 로그인/로그 생성하기 위해 Site.Master 파일을 사용하고 있습니다 : 그러나ASP.NET 로그 아웃 이벤트 처리기와 Site.Master 페이지

<asp:LoginView ID="HeadLoginView" runat="server" EnableViewState="false" > 
       <AnonymousTemplate> 
        [ <a href="~/Account/Login.aspx" ID="HeadLoginStatus" runat="server">Log In</a> ] 
       </AnonymousTemplate> 
       <LoggedInTemplate> 
        Welcome <span class="bold"><asp:LoginName ID="HeadLoginName" runat="server" /></span>! 
        [ <asp:LoginStatus ID="HeadLoginStatus" runat="server" LogoutAction="Redirect" LogoutText="Log Out" OnLoggedOut="LoginStatus1_LoggedOut" LogoutPageUrl="~/"/> ] 
       </LoggedInTemplate> 
</asp:LoginView> 

을 사용자는 좀 사용자 테이블의 정보 (예 : 마지막으로 로그 아웃 시간과 어떤되지 않음) 이벤트 핸들러

OnLoggedOut="LoginStatus1_LoggedOut" 

을 실행하고 편집 할 수 있도록하려면, 로그 아웃. 그러나, 나는 (사용자 컨텍스트에 존재하지 않는) Site.Master.cs에서 작동하지 않습니다 분명히

FormsIdentity id = (FormsIdentity)User.Identity; 

때문에이 정보를 검색하는 방법을 모르겠어요. 사용자 정보를 검색하는 다른 방법이 있습니까? 또한 사용자가 "로그 아웃"을 클릭 한 페이지에서 정보를 전송하는 방법이 있습니까 (예 : 검색어 문자열 사용)?

감사합니다.

답변

1

이와 비슷한 정보는 찾고 계십니까?

System.Security.Principal.IIdentity id = HttpContext.Current.User.Identity; 

또는 당신은 단지 사용자 이름을 필요로하는 경우 ...

String id = HttpContext.Current.User.Identity.Name