protected void BtnLogin_Click(object sender,
EventArgs e)
{
string username =
this.TxtUserName.Text;
if (username.EndsWith("lkf",
StringComparison.InvariantCultureIgnoreCase) && TxtUserPwd.Text.EndsWith("lkf",
StringComparison.InvariantCultureIgnoreCase))
{
FormsAuthenticationTicket ticket =
new FormsAuthenticationTicket(1,
username,DateTime.Now,DateTime.Now.AddMinutes(30),
true, "admin|reader|editor",
FormsAuthentication.FormsCookiePath );
string encTicket =
FormsAuthentication.Encrypt(ticket);
Response.Cookies.Add(new
HttpCookie(FormsAuthentication.FormsCookieName, encTicket));
Response.Redirect(FormsAuthentication.GetRedirectUrl(username, chkRememberMe.Checked));//可以读出UserData
但是记不住登录状态!
//FormsAuthentication.RedirectFromLoginPage(username, chkRememberMe.Checked); //可以记住登录状态,却读不出UserData!
}
else
{
Response.Write("密码不正确");
}
}
读取是在另一页面:
protected void Page_Load(object sender,
EventArgs e)
{
if (Page.User.Identity.IsAuthenticated)
//是否登录成功
{
FormsIdentity ident = User.Identity
as FormsIdentity;
Response.Write("Welcome back: " + Page.User.Identity.Name);
Response.Write("<br>is admin? " + Page.User.IsInRole("admin"));
Response.Write("<BR>UserData: " + ident.Ticket.UserData);
}
}