不知道什麼緣由,最近老是頭暈腦脹,作什麼事情感受都不在狀態,再加上工做忙,以爲好累~不過無論怎麼說,寫博客必定要堅持,最少一月一篇~這算是給本身的任務吧。html
回到正題,前面說過如何去配置Membership,以及如何去使用Asp.net自帶的登錄控件。此次說明一下如何不使用Asp.net自帶的登錄控件,而經過編寫代碼的方式去完成相應的功能。web
要使用Membership咱們須要引入System.Web.Security這個命名空間。在這個命名空間中有這麼幾個經常使用的類:算法
首先來介紹第一個Membership類,Membership類是一個靜態類,提供了全部的對於用戶方面的操做,好比註冊用戶,刪除用戶,取得用戶列表,根據email查找用戶等等app
方法不少,可是大多數都很簡單,咱們挑兩個比較麻煩點的來詳細解釋一下:ide
Membership.CreateUser方法的功能,看名字就知道是建立用戶,這個方法有4個重載:post
這4個重載的返回值都是MembershipUser類,MembershipUser類其實就是一個實體類,不過裏邊帶了一些方法,好比取得密碼,修改密碼等方法。至於該使用哪一個重載,還記得前面的web.config配置麼?好比requiresQuestionAndAnswer設置是否須要密碼找回問題和答案,若是該設置爲true,那麼就得使用第三個,或者第四個重載,提供問題和答案了。isApproved這個參數表示建立的用戶是否激活。最後一個MembershipCreateStatus 是一個枚舉,用out關鍵字修飾,用來得到建立用戶的狀態,好比:MembershipCreateStatus.Success說明建立用戶成功,MembershipCreateStatus.InvalidEmail說明電子郵件的格式錯誤等等。providerUserKey是一個Guid類型的數據,用來指定該用戶的UserId。ui
另外一個須要介紹的就是public static bool ValidateUser(string username, string password);這個方法,其實看名字和參數你們都應該猜到這個方法的做用了,兩個參數分別是用戶名和密碼,返回值爲是否登陸成功。剩下的方法都很是 的簡單了。你們應該一看就明白,不過須要提一下的是:ValidateUser方法常常和FormsAuthentication類配合起來使 用,FormsAuthentication類提供了一系列靜態方法,用來管理Forms身份驗證服務。url
FormsAuthentication類中,經常使用方法有:spa
第一個HashPasswordForStoringInConfigFile方法,做用很簡單,將傳入的password按照 passwordFormat指定的哈希算法生成哈希密碼而後返回,passwordFormat的取值能夠是"MD5」或是"SHA1"這兩個選擇。.net
第二個SetAuthCookie方法,向客戶端發送身份驗證的票據。userName是登錄的用戶名,createPersistentCookie用來告訴Asp.net是否建立一個持久的Cookie,讓用戶下次訪問可以免於登錄。
第三個RedirectFormLoginPage方法,將通過身份驗證的用戶重定向回最初請求的 URL 或默認 URL。
一般就是這樣的用法:
Roles類一樣是一個靜態類,裏邊封裝了全部對於角色相關的方法。好比:建立角色、將用戶添加到角色,刪除角色等經常使用操做。使用Roles類 要注意:web.config配置中roleManager節必須正確配置,而且enabled屬性必須等於true纔可使用。
Roles類中,須要說一下的是AddUserToRole這個方法,這個方法一般和Membership.CreateUser在一塊兒使用,好比:
這樣,在建立zhangsan這個用戶以後,順便給zhangsan分配了User這個角色。在後面,就能夠再配置文件中作以下配置:
這樣,全部新註冊的成員才能夠訪問本目錄下的資源,具體配置能夠參考ASP.NET身份驗證機制membership入門——配置篇(2)。
ok.API的部分就介紹到這裏了