form身份验证通过后,只能用FormsAuthentication.RedirectFromLoginPage


直接用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 = ".phpstudy.net";

4.身份验证票Cookie输出到客户端
复制代码 代码如下:

Response.Cookies.Add(UserCookie)

5.重定向
复制代码 代码如下:

Response.Redirect (Context.Request["ReturnUrl"]) ;



相关阅读:
ASP+SQLServer2000 经验积累
VS2003创建和打开ASP.net 工程的若干问题
解决MySQL Replication出错一例
详细讲解MySQL复制
Atlas学习手记(4):AutoComplete Extender实现自动完成
CSS代码可读性的提高
sina的lightbox效果。
Ubuntu系统性能优化简单教程
一体成形电脑 - Omnia iPC S20 AiO
WinXP 网络连接提速大法
一个实用的FSO-实时统计在线人数
学习ASP和编程的28个观点
Linux下更改网卡的MAC物理地址
Wordpress如何切换和管理网站外观
快速导航

Copyright © 2016 phpStudy | 皖ICP备18014864号-4