我正在使用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