一,成員資格
Asp.Net成員資格支援下列功能:
1.建立新使用者和密碼
2.将成員資訊(使用者名,密碼和支援資料)存儲在Microsoft SQLServer、Active、Driectory或其他資料存儲區。
3.對站點的使用者進行身份驗證
4.管理密碼,包括建立、更改和重置密碼
之前我們一直自己建立成員庫表,自己建立邏輯代碼管理,身份驗證,資格管理,角色管理,現在Asp.Net提出了自己的解決方案。使用一句指令建立資料庫(aspnet_regsql)
步驟如圖:開始>程式>Microsoft Visual Studio 2010>Visual Studio Tools>Visual Studio 指令提示(2010)
Membership類
用于驗證使用者憑據并管理使用者設定,功能如下:
1.建立和管理使用者
2.将成員資訊存儲在SQL Server或其他資料存儲區中。
3.對通路站點的使用者進行身份驗證。
4.管理密碼,包括建立,更改,檢索和充值密碼,也可以配置成員資格管理功能,以要求一個密碼提示問題及答案對忘記密碼的使用者的密碼進行重置。
Membership常用屬性和方法:
屬性:
方法:
建立成員資格支援
1.建立資料庫(可用指令提示符aspnet_regsql)
2.建立Asp.Net網站配置Web檔案
在前台添加資料源進行配置。自動生成coonectionString之後可删除前台資料源.
為使用者設定權限
3.項目>Asp.Net配置
4.選擇“安全”頁籤 并單機“使用安全設定向導按部就班配置安全性”。
5.單機“下一步”跳轉到“選擇通路方法”頁面
6.選擇“通過Interent”單擊“下一步”若選擇“通過區域網路”則直接跳過添加使用者步驟。
7.單機下一步
8.定義角色 (可選)點選“下一步”
9. 注冊新使用者 單機“完成”
密碼必須是數字,字母組合不可超過7為數
郵箱沒有設定郵箱格式可任意寫 否則則會報錯。
可傳回“安全”頁籤頁面查詢使用者建立成功。
程式設計實作成員資格管理
【案例】
建立前台:
背景代碼:
1.按鈕點選事件
MembershipCreateStatus stat;
string pwdQ = "";//保密問題
string pwdA = "";//保密答案
//如果保密問題和答案存在則擷取
if (Membership.RequiresQuestionAndAnswer)
{
pwdQ = PasswordTextbox.Text;
pwdA = PasswordAnswerTextbox.Text;
}
try
{
//建立後的新使用者
MembershipUser USER = Membership.CreateUser(UsernameTextbox.Text, PasswordTextbox.Text, EmailTextbox.Text, pwdA, pwdQ, true, out stat);
//如果建立的新使用者為空則
if (USER == null)
{
Msg.Text = GetErrorMessage(stat);
}
else
{
Response.Write("添加成功");
}
}
catch (Exception)
{
throw;
}
2.錯誤提示方法:
運作結果
二,角色管理
程式設計添加角色