随笔 - 35  文章 - 1 评论 - 94 trackbacks - 8



与我联系

搜索

 

常用链接

留言簿(6)

我参与的团队

随笔档案(35)

文章档案(1)

.NET英文资料

.NET中文资料

其他博客

最新随笔

积分与排名

  • 积分 - 43360
  • 排名 - 1063

最新评论

阅读排行榜

评论排行榜

1.         成员服务

  使用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类来记录它的成员信息。

它提供一系列静态方法用于角色操作。(同样,基本是见名知意)

    • AddUserToRole
    • CreateRole
    • DeleteRole
    • GetRolesForUser
    • GetUsersInRole
    • IsUserInRole
    • RemoveUserFromRole

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

 

<configuration>
  
<system.web>
    
<roleManager enabled="true" />
  
</system.web>
</configuration>
另可以在cookie中缓存角色信息,要实现这一点只需要在配置文件中做如下更改:
<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>

posted on 2006-01-03 21:55 圣炎¢天乐 阅读(4443) 评论(8)  编辑 收藏 网摘

FeedBack:
#1楼  2006-01-04 10:19 zz堪 [未注册用户]
很好,ASPNET2。0的资料太少了,也没有时间去尝试,谢谢了
  回复  引用    
#2楼  2006-02-08 16:15 随心所欲      
不错,希望能写出更多文章
  回复  引用  查看    
#3楼  2006-02-16 09:09 dophin [未注册用户]
good
  回复  引用    
#4楼  2006-02-16 11:19 dophin [未注册用户]
very good
  回复  引用    
#5楼  2006-05-06 09:30 小松 [未注册用户]
写的不错,最近在关注ASP。NET2。0,感觉现在的资料很少,特别是这个登陆控件,我搞了一个礼拜才有点眉目,现在就利用他原来生成的东西,连接自己的数据库,成功了。谢谢!
  回复  引用    
#6楼  2006-11-29 08:21 yunhuasheng      
very good!
  回复  引用  查看    
#7楼  2007-01-14 13:58 刘鸿基 [未注册用户]
马马虎虎拉
  回复  引用    




标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
Google站内搜索

相关文章:

相关链接: