(视频)玩转Membership视频之五:底层三剑客:Membership、MembershipUser、Roles

  
玩转Membership之五
-----底层三剑客:Membership、MembershipUser、Roles
本部分内容主要对Membership类、MembershipUser类和Roles类的常用属性和方法进行详尽的介绍。
Membership类属于System.Web.Security命名空间,其中包含了大量有用的静态方法。,下面列出最常用的一些静态方法
 
CreateUser()
创建一个新用户
举例如下:
MembershipCreateStatus createStatus;
Membership.CreateUser("丰志强", "www.fengzhiqiang.name", "zhiqiangfeng@gmail.com",
"你最喜欢的运动是什么?", "旅游", true, out createStatus);
需要注意的是倒数第二个参数,它是一个布尔值,决定创建的帐号是否被激活。如果设置为false,则帐号虽然创建成功,但是不可用,还需要在以后将MembershipUSer的IsApproved属性设置为true,然后调用UpdateUser()方法进行激活。新创建的用户默认情况下是被激活的。
最后一个参数返回一个枚举值,用以表示创建用户是否成功。MembershipCreateStatus.Success代表创建成功,其他的枚举值代表没有创建成功的各种原因
 
DeleteUser()
通过提供的用户名字,将数据库中的用户删除。你也可以指定是否从其他表中将与此用户相关的所有信息全部删除,默认情况下是全部删除的。
 
GetUser()
通过提供的用户名字,从数据库中获取用户
 
GetUserNameByEmail()
通过邮箱获取用户的名字,如果数据库中存在多个匹配的用户,则只返回第一个用户名
 
FindUsersByName()
此方法支持模糊查询,返回所有匹配或者部分匹配的用户列表
 
FindUsersByEmail()
此方法支持模糊查询,返回所有匹配或者部分匹配的用户列表
 
GetAllUsers()
获取所有用户的集合。此方法的另外一个重载,通过起始序号和集合长度,可以返回所要求的部分用户的集合
 
GetNumberOfUsersOnline()
获取登陆在线的用户总数
 
GeneratePassword()
生成指定长度的随机密码
 
UpdateUser()
更新用户信息
 
ValidateUser()
对提供的用户名和密码进行验证,检验其是否有效
 
 
MembershipUser提供如下常用的实例方法
 
UnlockUser()
激活因多次输入错误密码而被锁定的帐户
 
GetPassword()
用户通过输入安全问题的答案获取密码。注意的是如果密码是hashed类型,则不可用
 
ResetPassword()
使用系统生成的新的随机密码对用户密码进行重置。方法的返回值是生成的随机密码。随机密码可以直接显示给用户或者通过邮件的方式发送给用户
 
ChangePassword()
改变用户密码
 
ChangePasswordQuestionAndAnswer()
改变安全问题和答案
 
需要注意的一点是:如果你想让一个帐户不可用,那么只能通过将MembershipUser的IsApproved属性设置为fasle让其处于未激活状态。而不能通过编程的方式将其锁定,用户帐号的锁定只能由用户连续输错密码去触发,但是我们可以通过调用UnlockUser()进行解锁操作。
 
使用GridView和DetailsView绑定用户信息关键代码:
 
    protected   void  Page_Load( object  sender, EventArgs e)
    
{
        GridView1.DataSource 
= Membership.GetAllUsers();
        GridView1.DataKeyNames
=new string [] {"UserName"};
        GridView1.DataBind();
    }

    
protected   void  GridView1_SelectedIndexChanged( object  sender, EventArgs e)
    
{
        List
<MembershipUser> list = new List<MembershipUser>();
        list.Add(Membership.GetUser(GridView1.SelectedValue.ToString()));
        DetailsView1.DataSource 
= list;
        DetailsView1.DataBind();
 
    }

 
在用户点击登陆按钮的时候,我们可以做如下处理
If(Membership.ValidateUser(txtName.text,txtPassword.text))
{
         FormsAuthentication.RedirectFromLoginPage(txtName,
false);
}

Else
{
         Response.Write(“你的密码无效!”);
}

 
使用Roles类通过编程的方式创建角色和给用户指定角色
 
Roles类常用的方法
CreateRole()
DeleteRole()
RoleExists()
GetAllRoles()
AddUserToRole()
AddUserToRoles()
RemoveUserFromRole()
RemoveUserFromRoles()
RemoveUsersFromRole()
RemoveUsersFromRoles()
IsUserInRole()
GetRolesForUser()
GetUsersInRole()
FindUsersInRole()
玩转Membership视频之五:底层三剑客:Membership、MembershipUser、Roles(上)
          http://download.csdn.net/source/397909
玩转Membership视频之五:底层三剑客:Membership、MembershipUser、Roles(下)
         http://download.csdn.net/source/397910
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值