一、成員資格管理
1.成員資格管理模型
ASP.NET提供的成員資格管理功能,其核心是利用内置的成員庫表(SQL Server)、成員資格管理API(Membership、MembershipUser等)、成員資格提供程式(SqlMembershipProvider等),實作子產品化和自動化的成員資格管理模式。
2.建立成員資格支援
2-1配置建立成員資格支援
找到Visual Studio 指令提示(2010)
配置成員資格支援
完成之後成功的标志就是打開SQL Server,多了一個aspnetdb的資料庫
到這裡就可以使用ASP.NET 提供的自己的解決方案了。
這裡面可以實作管理使用者和管理角色。
當然也可以自己寫,後面給出例子。點選打開連結
3.Membership類
Membership類用于驗證使用者憑據并管理使用者設定,具有以下幾個主要功能:
- 建立和管理使用者
- 将成員資格資訊存儲在SQL Server或其他資料存儲區中
- 對通路站點的使用者進行身份驗證。可以以程式設計方式對使用者進行身份驗證,也可以使用登入控件建立一個隻需很少代碼或無需代碼的完整身份驗證系統
- 管理密碼,包括建立、更改、檢索和重置密碼等。可以選擇配置成員資格管理功能,以要求一個密碼提示問題及其答案來對忘記密碼的使用者的密碼進行重置
Membership類的常用方法
屬 性 | 描 述 |
ApplicationName | 擷取或設定應用程式的名稱。 |
EnablePasswordReset | 獲得一個值,訓示目前成員資格提供程式是否配置為允許使用者重置其密碼。 |
EnablePasswordRetrieval | 獲得一個值,訓示目前成員資格提供程式是否配置為允許使用者檢索其密碼。 |
MaxInvalidPasswordAttempts | 擷取鎖定成員資格使用者允許的無效密碼或無效密碼提示問題答案嘗試次數。 |
MinRequiredNonAlphanumericCharacters | 擷取有效密碼中必須包含的最少特殊字元數。 |
MinRequiredPasswordLength | 擷取密碼所要求的最小長度。 |
PasswordAttemptWindow | 擷取在鎖定成員資格使用者之前允許的最大無效密碼或無效密碼提示問題答案嘗試次數的分鐘數。 |
PasswordStrengthRegularExpression | 擷取用于計算密碼的正規表達式。 |
RequiresQuestionAndAnswer | 擷取一個值,該值訓示預設成員資格提供程式是否要求使用者在進行密碼重置和檢索時回答密碼提示問題。 |
UserIsOnlineTimeWindow | 指定使用者在最近一次活動的日期/時間戳之後被視為聯機的分鐘數。 |
Membership類的常用方法
方 法 | 描 述 |
CreateUser | 已重載。将新使用者添加到資料存儲區。 |
DeleteUser | 已重載。從資料庫中删除一個使用者。 |
FindUsersByEmail | 已重載。擷取一個成員資格使用者的集合,這些使用者的電子郵件位址包含要比對的指定電子郵件位址。 |
FindUsersByName | 已重載。擷取一個成員資格使用者的集合,這些使用者的使用者名包含要比對的指定使用者名。 |
GeneratePassword | 生成指定長度的随機密碼。 |
GetAllUsers | 已重載。擷取資料庫中使用者的集合。 |
GetNumberOfUsersOnline | 擷取目前通路應用程式的使用者數。 |
GetType | 擷取目前執行個體的Type。(從Object 繼承。) |
GetUser | 已重載。從資料源擷取成員資格使用者的資訊。 |
GetUserNameByEmail | 擷取一個使用者名,其中該使用者的電子郵件位址與指定的電子郵件位址比對。 |
ReferenceEquals | 确定指定的Object 執行個體是否是相同的執行個體。(從Object 繼承。) |
UpdateUser | 用指定使用者的資訊更新資料庫。 |
ValidateUser | 驗證提供的使用者名和密碼是有效的。 |
二、成員角色管理
1.成員角色管理模型
ASP.NET提供的角色管理将整個控制過程分成兩個步驟:
- 通路權限與角色關聯
- 角色與使用者關聯
2.Roles類
2-2-1.Roles類常用屬性
屬 性 | 說 明 |
ApplicationName | 擷取或設定要存儲和檢索其角色資訊的應用程式的名稱。 |
CacheRolesInCookie | 擷取一個值,該值訓示目前使用者的角色是否已緩存在某個Cookie 中。 |
CookieName | 擷取在其中緩存角色名稱的Cookie 的名稱。 |
CookiePath | 擷取緩存角色名稱的Cookie 的路徑。 |
CookieProtectionValue | 擷取一個訓示如何保護在Cookie中緩存的角色名稱的值。 |
CookieSlidingExpiration | 訓示是否将要定期重置角色名稱 Cookie 的到期日期和時間。 |
Enabled | 擷取或設定用來訓示是否為目前Web 應用程式啟用角色管理的值。 |
2-2-2.Roles類常用方法
方 法 | 說 明 |
AddUsersToRole | 将指定的使用者添加到指定的角色中。 |
CreateRole | 将新的角色添加到資料源。 |
DeleteCookie | 删除在其中緩存角色名稱的 Cookie。 |
DeleteRole | 已重載。從資料源移除一個角色。 |
FindUsersInRole | 擷取屬于指定角色的使用者清單,其中使用者名包含要比對的指定使用者名。 |
GetAllRoles | 擷取應用程式的所有角色清單。 |
GetRolesForUser | 已重載。擷取目前登入的使用者所屬的角色清單。 |
GetUsersInRole | 擷取一個使用者所屬角色的清單。 |
IsUserInRole | 已重載。擷取一個訓示使用者是否屬于指定角色的值。 |
RemoveUserFromRole | 從指定的角色中移除指定的使用者。 |