Asp.net官方標准控件實現用戶的管理,雖然簡單,但控件封裝性很強,開發人員不能明白做了什麼樣的調用,還用別一方面,標准控件的使用,很大程度上限制了程序的可變性。如果自開發一整套用戶管理系統,可行,但又失去了標准用戶控件的作用,於是用API來管理用戶,成為一個很好的先擇,下面我列出主要(不 全部)的用戶管理API實例:
1、注冊用戶
用Membership.CreateUser來創建設新用戶,注意密友要包含一個符號,Membership位於System.Web.Security命名空間內。
//cs
1try
2 {
3 MembershipCreateStatus MCS;
4 Membership.CreateUser(name.Text, password.Text,email .Text ,question .Text,answer .Text ,true , out MCS );
5 Response.Write(MCS.ToString ());
6 }
7 catch(Exception s)
8 {
9 //異常處理代碼
10 }
11
//Aspx代碼
1 <asp:Label ID="Label1" runat="server" Text="用戶名:"></asp:Label>
2 <asp:TextBox ID="name" runat="server" Width="196px"></asp:TextBox>
3 <asp:Label ID="Label2" runat="server" Text="密碼:"></asp:Label>
4 <asp:TextBox ID="password" runat="server" Width="197px"></asp:TextBox>
5 <asp:Label ID="Label3" runat="server" Text="確認密碼:"></asp:Label>
6 <asp:TextBox ID="OtherPass" runat="server" Width="196px"></asp:TextBox>
7 <asp:Label ID="Label4" runat="server" Text="電子郵件:"></asp:Label>
8 <asp:TextBox ID="email" runat="server" Width="193px"></asp:TextBox>
9 <asp:Label ID="Label5" runat="server" Text="安全提示問題:"></asp:Label>
10 <asp:TextBox ID="question" runat="server" Width="189px"></asp:TextBox>
11 <asp:Label ID="Label6" runat="server" Text="安全答案:"></asp:Label>
12 <asp:TextBox ID="answer" runat="server" Width="187px"></asp:TextBox>
13 <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="注冊" Width="69px" />
14
15
2、用戶登錄
用戶登錄用Membershi.ValidateUser來驗證用戶名和密碼。如果通過驗證,調用FormsAuthentication.RedirectFromLoginPage導向目標頁面(這裡以及後面的一些設置都是配合Forms驗證展開,都預先在web.config中配置好Forms的驗證策略)。
//cs代碼,在登錄按鈕的單擊事件注冊的方法中
1if (Membership.ValidateUser(UserName.Text,Password.Text))
2 {
3 FormsAuthentication.RedirectFromLoginPage(UserName.Text, false);
4 }
5 else
6 {
7 Response.Write("登錄失敗!");
8 }
9
10
//Aspx代碼
1<asp:Label ID="Label1" runat="server" Text="用戶名:"></asp:Label>
2 <asp:TextBox ID="UserNmae" runat="server"></asp:TextBox>
3 <asp:Label ID="Label2" runat="server" Text="密碼:"></asp:Label>
4 <asp:TextBox ID="Password" runat="server"></asp:TextBox>
5 <asp:Button ID="Login_But" runat="server" onclick="Button1_Click" Text="登錄"
6 Width="69px" />
7 <asp:HyperLink ID="FindPass_HL" runat="server" NavigateUrl="~/FindPassword.aspx">忘記密碼</asp:HyperLink>
8<asp:HyperLink ID="Reg_HL" runat="server" NavigateUrl="~/register.aspx">注冊</asp:HyperLink>
9
10
11