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 = ".haodaima.com";

4.身份验证票Cookie输出到客户端

Response.Cookies.Add(UserCookie)

5.重定向

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

本文form身份验证通过后,只能用FormsAuthentication.RedirectFromLoginPage到此结束。如果说青春也有缺点,那就是它消失得太快。小编再次感谢大家对我们的支持!

您可能有感兴趣的文章
ASP.NET中Response.BufferOutput属性的使用技巧

ASP.NET轻量级MVC框架Nancy的基本用法

使用grpcui测试ASP.NET core的gRPC服务

ASP.NET Core中的对象池介绍

.NET集成ORM框架HiSql