我正在使用createuserwizard控件。在CreatedUser事件上,我放置了这段代码将用户添加到角色中。FormsAuthentication.SetAuthCookie做什么
protected void RegisterUser_CreatedUser(object sender, EventArgs e)
{
FormsAuthentication.SetAuthCookie(RegisterUser.UserName, false /* createPersistentCookie */);
if (!Roles.IsUserInRole("Test"))
{
var User= Membership.GetUser();
Roles.AddUserToRole(User.UserName, "Test");
}
string continueUrl = RegisterUser.ContinueDestinationPageUrl;
if (String.IsNullOrEmpty(continueUrl))
{
continueUrl = "~/";
}
Response.Redirect(continueUrl);
}
我也想知道什么FormsAuthentication.SetAuthCookie(RegisterUser.UserName, false /* createPersistentCookie */);
手段,就是它的用途以及为什么Membership.GetUser()
为空。
我认为默认的成员资格提供程序不检查cookie每次检查登录用户,而是检查它在早期的请求处理阶段,它会返回null对于同样的请求,你'SetAuthCookie',但下一个请求它会看到用户。我认为这是迟缓的,并寻找一种简单的方法来解决它... – bambams