程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> ASP.NET基礎 >> form身份驗證通過後,只能用FormsAuthentication.RedirectFromLoginPage

form身份驗證通過後,只能用FormsAuthentication.RedirectFromLoginPage

編輯:ASP.NET基礎
直接用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. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved