2010-06-03 6 views
5

나는 많은 수의 problems with FormsAuthentication을 가지고 있으며 잠재적 인 해결 방법으로 loginSession에 저장하는 것에 대해 생각하고 있습니까?세션을 사용하여 인증 저장 하시겠습니까?

Login: 
Session["Auth.ClientId"] = clientId; 

IsAuthenticated: 
Session["Auth.ClientId"] != null; 

Logout; 
Session["Auth.ClientId"] == null; 

정말 어쨌든 종과 FormsAuthentication의 휘파람의 대부분을 사용하지 않는. 이것은 나쁜 생각입니까?

+1

당신은 폼 인증으로 발생하는 문제는 무엇인가? –

답변

0

나는 나쁜 생각은 아니지만 인증 된 데이터를 저장하기 위해 db와 함께 세션을 사용하는 사이트를 많이 보았지만 formsauthentication 테이블을 사용하지 않고 계속 돌아갈 수있는 다른 방법이 있지만 여전히 가능합니다. 역할과 같은 것을 사용하십시오.

How do I create a custom membership provider for ASP.NET MVC 2?

은 그 좋은 예가있다.

2

세션에 중요한 정보를 저장하지 않겠습니다.

인증을 위해 내가 사용하는 것 :

if (HttpContext.Current.User.Identity.IsAuthenticated) 
{ 
    // Then u use 
    // this.User.Identity.Name as my membership_id so i could call this everywhere 
}else 
{ 
    //Redirect to Login 
    //gettting my LoginPageAddress 
    Response.Redirect(ConfigurationSettings.AppSettings["LoginPage"]); 
} 

로그인이 같은 것입니다 :

FormsAuthentication.SetAuthCookie(membership_ID, false) 

어쨌든이 도움이되기를 바랍니다

관련 문제