成员资格和角色管理

Web用户与权限管理

1. 身份验证(authentication):即确定访问网站的用户身份,解决“用户是谁”的问题;

2. 使用权限(authorization):即在用户身份确定之后,授予他一定的权限,允许他使用特定的服务,这是解决“用户能干什么”的问题。

ASP.NET身份验证方式

asp.net应用程序可以使用以下四种身份验证方式

身份验证方式说明
None不能进行身份验证,Web站点向所有人开放
Windows

基于windows身份验证,使用用户登录windows的账户作

为Web站点的用户。由于用户在访问网站前已经登录了

windows,所以他访问网站时不再需要输入用户与密码。

Forms

由ASP.NET负责进行身份验证,即网站提供一个登录页

面,要求用户输入用户名与密码,验证合法之后才可以

访问网站。

Passport

使用微软提供的Passport SDK,通过第三方进行身份验

证。

在实际的Web项目,才、多采用Forms身份验证

了解ASP.NET用户权限管理框架

1. MenberShip类:提供了一系列的静态方法与属性,完成创建用户、管理密码以及身份验证的功能。

2. MemberShipUser类:代表单个的用户权限信息,该对象公开成员资格用户的相关信息(如电子邮箱地址),并成为成员资格用户提供功能(如更改或重置其他密码的功能)。

3. Roles类:提供了一系列的静态方法与属性,完成角色管理的相关功能,例如,将某个用户加入到特定的角色中。

在网站中集成用户管理功能

在网页中,可以直接使用MemberShip的一系列静态方法来管理用户,如创建新用户、删除一个用户、更新用户信息等。例如:

MemberShip.CreateUser("username","password");

MemberShip.DeleteUser("username");

这就使人们可以方便的在网页中集成用户管理的功能

提取用户信息

MemberShip封装了用户信息,例如,以下代码查找管理员用户sa,并且输出其登录信息:

MemberShipUser user = MemberShip.GetUser("sa");

if(user!=null)

     Response.Write("上次登陆时间:" + 

                          user.LastLoginDate.ToString( );

角色管理

Roles类提供了一系列的静态方法可以完成创建/删除角色,向角色中添加和删除用户,以及查询用户是否属于某个角色等功能。

string[ ] users = Roles.GetUsersInRoles("Admin");

Roles.AddUserToRole("username","rolename");

使用这些静态方法,可以很方便的在页面中对用户进行角色鉴别。

用户登录凭据的保存

为了保存用户的登录信息,可以使用Forms-Authentication类的SetAuthCookie方法保存用户的登录凭据:

if(MemberShip.ValidateUser("username","password"))

     //将用户登录凭据保存到Cookie中

     FormsAuthentication.SetAuthCookie("username",true/false);

之后,在网页中就可以通过User.Identity属性来判断用户是否登录。

注销时,调用FormsAuthentication.SignOut( )方法,这样,用户的登录凭据就会被删除。以后要访问特定资源,就需要重新登录。



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值