关于FormsAuthentication(窗体身份验证机制)的问题,求教大家,急
我做一个教务管理系统,教师登录时过程如下:
先用TextBoxId存储用户名,然后在数据库中验证用户名和密码,验证成功后:
//登录成功-导航页面
Session["UserNo"] = TextBoxId.Text;
if (!Roles.IsUserInRole(TextBoxId.Text, "教师"))
Roles.AddUserToRole(TextBoxId.Text, "教师");
FormsAuthenticationTicket ticket
= new FormsAuthenticationTicket(3, TextBoxId.Text, DateTime.Now,
DateTime.Now.AddMinutes(2), false, "course");//添加票证
string encTicket = FormsAuthentication.Encrypt(ticket);// 加密票证
Response.Cookies.Add(new HttpCookie(FormsAuthentication.FormsCookieName, encTicket));//创建票证Cookie
Response.Redirect("登录成功页面.aspx");
这段代码是照抄类似程序然后修改的,可以运行,但有2个问题不懂,请教大家:
1.在FormsAuthenticationTicket ticket
= new FormsAuthenticationTicket(3, TextBoxId.Text, DateTime.Now,
DateTime.Now.AddMinutes(2), false, "course");//添加票证
语句中,最后一个参数"course"是干什么用的?是不是得改成其他的?
2.以后这个用户想注销登录,该怎么实现呢?如果方法是把这个票证取消,怎么写呢?
[解决办法]
我也弄了个sf ?
1、存储在票证中的用户特定的数据。
2、两个方法,试试。
FormsAuthentication.SignOut();
Response.Cookies.Remove(FormsAuthentication.FormsCookieName);