asp.net中使用基於角色的身份Forms驗證 (2)__.net

來源:互聯網
上載者:User
 

驗證方法

我們可以使用下面 4 種方法中的一種進行票證寫入和重新導向操作,其實前 3 種只不過是對第 4 種方法的封裝而已。推薦使用 1、4。注意後三種方法不支援cookieless="UseUri"。
// 1. 使用預設身分識別驗證票證
FormsAuthentication.RedirectFromLoginPage("username", true);

// 2. 使用預設身分識別驗證票證
FormsAuthentication.SetAuthCookie("username", false);
Response.Redirect(FormsAuthentication.GetRedirectUrl("username", false));

// 3. 使用預設身分識別驗證票證
Response.Cookies.Add(FormsAuthentication.GetAuthCookie("username", false));
Response.Redirect(FormsAuthentication.GetRedirectUrl("username", false));

// 4. 使用自訂身分識別驗證票證
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1, "username", DateTime.Now, DateTime.Now.AddMinutes(10), false, null);
Response.Cookies.Add(new HttpCookie(FormsAuthentication.FormsCookieName, FormsAuthentication.Encrypt(ticket)));
Response.Redirect(FormsAuthentication.GetRedirectUrl("username", false));    

FormsAuthentication

Authenticate
對照儲存在應用程式設定檔中的憑據來驗證使用者名稱和密碼。該方法只能驗證儲存在 web.config 中的使用者名稱和密碼資訊,大多數時候我們會用自己的驗證方法替代它。

Decrypt
解密從 Cookie 中擷取的加密字串,建立 FormsAuthenticationTicket 對象。

Encrypt
加密 FormsAuthenticationTicket,返回加密後字串。

GetRedirectUrl
返回導致重新導向到登入頁的原始請求 URL。GetRedirectUrl 方法返回查詢字串中使用 ReturnURL 變數名指定的 URL。例如,在 URL http://www.contoso.com/login.aspx?ReturnUrl=caller.aspx 中,GetRedirectUrl 方法返回返回 caller.aspx。如果 ReturnURL 變數不存在,GetRedirectUrl 方法將返回 DefaultUrl 屬性中的 URL。

RedirectFromLoginPage
將經過身分識別驗證的使用者重新導向回最初請求的 URL 或 DefaultUrl 。

RedirectToLoginPage
將瀏覽器重新導向到登入 URL。

RenewTicketIfOld
有條件地更新 FormsAuthenticationTicket 的發出日期和時間以及到期日期和時間。 注意該方法只是返回更新後的 FormsAuthenticationTicket 對象,並不會寫入 Cookies。

GetAuthCookie
為給定的使用者名稱建立身分識別驗證 Cookie,並不添加到響應的 Cookie 集合或 URL。

SetAuthCookie
為提供的使用者名稱建立一個身分識別驗證票證,並將其添加到響應的 Cookie 集合或 URL。

SignOut
從瀏覽器刪除 Forms 身分識別驗證票證。 

票證自訂資料應用

使用自訂票證時,我們可以添加一個 userData 參數。善加利用這個參數還是能帶了一些意想不到的好處的,諸如儲存使用者 VIP 等級編號,所擁有的許可權/角色集合等。當然 Cookie 和 URL 參數長度有限,這個自訂資料不能太長。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.