我有自定义角色和会员提供商。我想在asp.net 4 no mvc。
中使用这个Project并在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 :(得分:0)
你的 web.config 中有没有这个?
<sessionState cookieless="AutoDetect" regenerateExpiredSessionId="true" timeout="20" />