form身份验证通过后,只能用FormsAuthentication.RedirectFromLoginPage
程序员文章站
2024-03-09 18:05:47
直接用response.redirect("default.aspx")的话当然验证失败,因为你根本没有建立身份验证票。formsauthentication.redire...
直接用response.redirect("default.aspx")的话当然验证失败,因为你根本没有建立身份验证票。formsauthentication.redirectfromloginpage方法,会自动完成很多功能的。如完成生成身份验证票,写回客户端,浏览器重定向等一系列的动作。当然完成这些功能并不是只有formsauthentication.redirectfromloginpage方法才能办到,相反如果需要带角色信息的验证则只能采用其他办法。
我门可采用手动添加身份验证票
1.
formsauthenticationticket ticket = new formsauthenticationticket (1,"coffee",datetime.now, datetime.now.addminutes(20), false,userroles,"/") ;
注:userroles不知道就写""
2.加密序列化
string hashticket = formsauthentication.encrypt (ticket) ;
3.生成cookie
httpcookie usercookie = new httpcookie(formsauthentication.formscookiename, hashticket) ;
cookie.domain = ".jb51.net";
4.身份验证票cookie输出到客户端
response.cookies.add(usercookie)
5.重定向
response.redirect (context.request["returnurl"]) ;
我门可采用手动添加身份验证票
1.
复制代码 代码如下:
formsauthenticationticket ticket = new formsauthenticationticket (1,"coffee",datetime.now, datetime.now.addminutes(20), false,userroles,"/") ;
注:userroles不知道就写""
2.加密序列化
复制代码 代码如下:
string hashticket = formsauthentication.encrypt (ticket) ;
3.生成cookie
复制代码 代码如下:
httpcookie usercookie = new httpcookie(formsauthentication.formscookiename, hashticket) ;
cookie.domain = ".jb51.net";
4.身份验证票cookie输出到客户端
复制代码 代码如下:
response.cookies.add(usercookie)
5.重定向
复制代码 代码如下:
response.redirect (context.request["returnurl"]) ;