ASP.NET 2.0中的成員管理與角色管理

1.         另可以在cookie中緩存角色信息,要實現這一點只需要在配置文件中做如下更改:
成員服務

 

  使用ASP.NET Web Site Administration Tool創建配置網站的權限信息。該工具在http://localhost/<項目名>/webadmin.axd,通過配置,該工具將直接生成一個web.config的文件用於存貯成員信息。

asp.net2.0中也提供了兩個類用於成員管理,這兩個類是MembershipMembershipUser,他們位於System.Web.Security命名空間下。其中前者包含一系列靜態方法,用於創建,刪除,更改,驗證等操作。後者是一個描述單一用戶的登陸信息的類,每一個實例就是一個用戶登陸信息的集合。

 

Membership的一些方法:(基本可以見名知意)

  •        CreateUser
  •        DeleteUser
  •        GeneratePassword
  •        GetAllUser
  •        GetUser
  •        UpdateUser
  •        ValidateUser

MembershipUser的一些方法:

  •        ChangePassword
  •        ChangePasswordQuestionAndAnswer
  •        GetPassword
  •        ResetPassword

MembershipUser的一些屬性:(基本可以見名知意)

  •        Comment(用於存儲用戶自定義數據)
  •        CreationDate
  •        Email
  •        LastLoginDate
  •        LastPasswordChangedDate
  •        UserId
  •        UserName

 

一些例子:

創建一個新用戶

 

MembershipCreateStatus status;
        MembershipUser user 
= Membership.CreateUser(this.TB_Username.Text,
            
this.TB_Password.Text, this.TB_Email.Text, out status);//傳出參數status中包含了創建用戶的結果信息,可以根據這些信息進行進一步處理.

更改密碼

 

if (this.IsValid)
    
{
        MembershipUser user 
= Membership.GetUser();

        user.Email 
= this.TB_Email.Text;
        user.Comment 
= this.TB_Comment.Text;
        Membership.UpdateUser(user);

        
if ((this.TB_OldPassword.Text.Length > 0&&
                 (
this.TB_NewPassword.Text.Length > 0))
        
{
            user.ChangePassword(
this.TB_OldPassword.Text,
                
this.TB_NewPassword.Text);
        }

    }

另所有的用戶信息可以存儲在SQL Server中或者Access中。要在SQL Server中存儲這些信息可以使用<windir>/Microsoft.NET/Framework/<version>下的aspnet_regsql.exe工具來生成數據庫。如下圖

 

 

數據庫生成完畢後需要在配置文件中做如下更改:

  

<?xml version="1.0"?>
<configuration>

    
<connectionStrings>
          
<add name="LocalSqlServer"
              connectionString
="data source=127.0.0.1;Integrated Security=SSPI" />
    
</connectionStrings>

    
<system.web>
        
<membership defaultProvider="AspNetSqlProvider" />
        
<roleManager enabled="true" defaultProvider="AspNetSqlProvider" />
    
</system.web>
</configuration>

 

2.   角色管理服務

  與成員管理類似,角色管理也能通過ASP.NET Web Site Administration Tool進行。與成員管理不同的是角色管理只有一個類Roles。也就是說role只是作爲一個字符串存在,並沒有一個role類來記錄它的成員信息。

它提供一系列靜態方法用於角色操作。(同樣,基本是見名知意)

  由於角色管理缺省是禁用的,所以要在配置文件中做如下更改:

 

<configuration>
  
<system.web>
    
<roleManager enabled="true" />
  
</system.web>
</configuration>

 

    • AddUserToRole
    • CreateRole
    • DeleteRole
    • GetRolesForUser
    • GetUsersInRole
    • IsUserInRole
    • RemoveUserFromRole
<configuration>
  
<system.web>
    
<roleManager enabled="true" cacheRolesInCookie="true" />
    
<!-- 其他屬性以及默認值:
      cookieName=".ASPXROLES"         // Cookie 名
      cookieTimeout="30"              // Cookie 生存期
      cookiePath="/"                  // Cookie 路徑
      cookieRequireSSL="false"        // 限制 cookie 使用 SSL
      cookieSlidingExpiration="true"  // 重新申請滿期的Cookie
      cookieProtection="All" />       // Cookie 保護級別
    
-->
  
</system.web>
</configuration>
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章