2013-09-22 46 views
0

我有自定義角色和會員供應商。我想在asp.net 4中使用這個Project沒有mvc。啓用會話中的自定義角色和會員供應商

,並使用此代碼在web.config中:

<authentication mode="Forms"> 
    <forms loginUrl="~/Login.aspx" timeout="2880" /> 
</authentication> 

自定義成員提供商和項目它的工作,但是會議沒有在項目的工作。

我使用此代碼登錄:

private User SetupFormsAuthTicket(string userName, bool persistanceFlag) 
    { 
     User user; 
     UsersContext usersContext = new UsersContext(); 
      user = usersContext.GetUser(userName); 

     var userId = user.UserId; 
     var userData = userId.ToString(CultureInfo.InvariantCulture); 
     var authTicket = new FormsAuthenticationTicket(1, //version 
          userName, // user name 
          DateTime.Now,    //creation 
          DateTime.Now.AddMinutes(30), //Expiration 
          persistanceFlag, //Persistent 
          userData); 

     var encTicket = FormsAuthentication.Encrypt(authTicket); 
     Response.Cookies.Add(new HttpCookie(FormsAuthentication.FormsCookieName, encTicket)); 
     return user; 
    } 

回答

0

你在你的web.config中這個?

<sessionState cookieless="AutoDetect" regenerateExpiredSessionId="true" timeout="20" /> 
+0

我使用你的代碼和cookieless =「UseCookies」,但不起作用。 –

+0

它與'cookieless =「AutoDetect」'一起工作嗎? –

+0

是的。但它不起作用。我的自定義角色和成員資格提供程序的代碼是否正確?: