2013-03-31 5 views
0

ASP.NET에서 테스트 및 포럼 용 웹 사이트를 개발 중입니다. 사용자 로그 아웃까지 전체 웹 사이트를 통해 사용자 로그인 상태를 유지하고 싶습니다. 사용자는 언제든지 웹 사이트를 열 때마다 필요하지 않아도 언제든지 로그인 할 수 있습니다. 페이지가 너무 많아서 날씨 사용자가 각 페이지에 로그인했는지 여부를 확인할 수있는 쉬운 방법이 있으며 페이지마다 상태를 표시 할 수 있습니다.로그인 상태 유지

제 문제를 해결하는 데 도움을주십시오.

감사합니다.

+3

ASP.NET 폼 authentication.http : //www.codeproject를 사용하십시오.com/Articles/13872/ASP-NET의 양식 인증 및 권한 부여 – chamara

답변

0

같은 번호로 SESSION을 사용할 수 있습니다.

좋은 예인 좋은 설명 here.

0

asp.net을 처음 사용하는 경우이 용도로 세션을 사용할 수 있습니다.

사용자가 로그인 버튼을 클릭하면 사용자 ID 또는 사용자 이름 또는 세션에서 원하는 것을 저장하십시오. 로그인 버튼 마스터 페이지의 페이지로드에 지금

Session["User"] = username.ToString(); 
    //you will get user id or username from the database. you can store anything in this session. its your wish. 

는 세션의 존재 여부를 확인하십시오. 마스터 페이지의 페이지로드는 콘텐츠 페이지가 게시 될 때마다 발생하기 때문에 마스터 페이지에

OnPageload : 로그 아웃 버튼을

If(Session["user"] != null) // it should be first statement in page load event 
{ 
    //your code 
} 

그냥 null로 세션이나 설정 세션 값을 제거합니다.

사용자의 로그인을 유지 관리하는 가장 쉽고 간단한 방법은 아닙니다.

0

ASP.NET 멤버십을 구현해야합니다. 회원 자격은 기본적으로 보안 시스템을 신속하게 만들고 사용자가 직접 만들 필요가 없습니다.

ASP.NET 2.0 이후로 많은 리소스를 찾을 수 있었지만 많이 변경되지 않았습니다. 예를 들어, http://www.troyhunt.com/2011/10/5-minute-wonders-aspnet-membership.html

이렇게하면 보안 섹션과 사용자 권한을 가질 수 있습니다.

실제 질문과 관련하여 누군가가 로그인했는지 확인하는 유일한 방법은 ASP.NET 멤버쉽을 사용하는 것입니다. Windows 인증을 사용할 수 있지만 추가 작업없이 이름과 같은 사용자 정보를 쉽게 얻을 수 없습니다. , 당신은 ASP.NET 회원 경로를 사용하는 경우

, 당신은 폼 인증을 사용하고있을거야, 그리고이 두 가지 상태, 익명 (로그인되지 않음)에 기록. 로그인 한

사람의 표시하려면이있을 것이다 LoginView 컨트롤을 사용합니다. 뒤에 코드에서

<asp:LoginView ID="ctlRightNavbar" runat="server"> 
    <AnonymousTemplate> 
     Not logged in 
    </AnonymousTemplate> 
    <LoggedInTemplate> 
     Welcome <asp:Label ID="lblName" runat="server" /> 
    </LoggedInTemplate> 
</asp:LoginView> 

http://www.codeguru.com/csharp/csharp/cs_misc/security/article.php/c13127/ASPNET-Tip-Using-the-LoginView-Control.htm, 당신은 특히 MembershipUser 클래스와, 사용자 정보를 얻기 위해 회원 정보를 사용합니다.

// get the logged in user 
MembershipUser user = Membership.GetUser(); 
// user will be null if not logged in 
if (user != null) 
    // display the user details 
    lblName.Text = user.UserName;