现在的位置: 首页 > 综合 > 正文

Membership 详解之 Provider

2012年07月23日 ⁄ 综合 ⁄ 共 1834字 ⁄ 字号 评论关闭

前面呢介绍了 Login 控件以及一些与之相关的诸如 LoginName 之类的控件,

但是,那些东西都只是外层的东西,

真正完成功能的是 Membership 和 Role 两个 API,

Membership 呢是用来创建和管理成员资格用户的,

而 Role 则是用来创建和管理角色的(用户群),

其实呢,与 Membership 相关的类有很多,

但是常见的也就是 Membership 静态类,MembershipUser ,

MembershipCreateStatus , MembershipUserCollection ,

而想的而言,使用最为广泛的就是 Membership 和 MembershipUser 两大类了,

Membership 呢,就是对整个的用户群进行管理和创建的,

而 MembershipUser 呢则是针对特定的用户进行操作的,

MembershipCreateStatus 则是在使用 Membership 创建新成员时的状态信息返回,

而 MembershipCollection 则是 MembershipUser 的集合了,

这接下来的几篇博文主要介绍的也就是 Membership ,MembershipUser ,

MembershipCreateStatus 这三个类了,

并且是通过对 aspnet_Users 和 aspnet_Membership 这两个数据表进行操作的,

既然涉及到了数据表,那么自然在使用 Membership 时需要注册好网站数据库,

这个就要您看前面的博文了,其中有专门介绍 aspnet_regsql 的,

注册好了数据库后,也正如我们知道的,会在指定的数据库中创建 11 个数据表,

其中涉及到 Membership ,Role,Profile,WebParts 这几个块,

而对于用户的注册和管理的话主要是涉及到其中的两个数据表,

aspnet_Users 和 aspnet_Membership 两个数据表,

也就是使用 Membership 等相关类进行操作的数据表就是上面的这两个表了,

一开始呢,我并不会介绍 Membership 和 MembershipUser 这些类,

因为类吗,都是别个写好了的,只要调用就 OK 了,

而其中的个些机制确是必须自己弄清楚的,

所以这一篇博文呢,我会先介绍最基础的 Provider

基本上就是 Membership 成员资格 Provider 的设置和一些基本的配置,

基本上来说呢,Provider 的默认配置还是比较严谨的,

(密码长度要大于 7 啊,必须有一个非字母数字字符啊等等之类的)

您呢,可以直接使用这些默认配置,在 IIS 中,默认配置的提供者是

image 

当然,默认的提供程序的要求是比较高的,比如您注册一个秘密还必须至少有 7 个字符,

要碰上我的话,我鬼才注册您的网站呢,我密码都难得记,

所以如果您要进行改变这些配置的话,也是可以的,因为可以自定义 Provider

鄙人的系统是 Win7 的旗舰版的,IIS 的版本是 7.5 了,

大家可以看一下要改变这些设置该如何改变,

您先将你的 Web 应用程序部署在 IIS 上,然后按下面的步骤走,

image

image

捕获

3捕获

上面有很多的设置,这些设置就是用来配置 Provider 的,

配置好以后,您的程序在运行过程中变会自动使用这些设置了,

比如默认的密码需要 7 个字符,您可以把它调为 4 个字符,

这样您在注册用户时便可以输入 4 个字符的密码进行注册了

默认情况下,必须是 7 个,否则注册失败),

其中可以设置的又很多的属性,还是截个图吧,

image

image

这些内容都给写的很清楚了,各位只要去看了就一定会明白的,

不过还有一点就是要注意的是,当您在 IIS 中对这个提供程序 Provider 进行更改时,

其会反馈到 web.config 中去,

比如我把上面使用的 MyMembershipProvider 设置为应用程序的 Provider 时,

其将会在 web.config 中添加如下标记

image

从这里各位便知道提供程序 Provider 到底是个什么东东了,

其实呢,就是在 web.config 中进行配置后,要在每一个 Membership 上使用的东东,

上面的这些个属性呢,您也都是可以通过在 Code-Behind 中修改的,

您既可以使用 Membership 直接修改,

也可以使用 Membership.Provider 来获取 Provider (MembershiProvider)设置,

如果不清楚的可以直接去写代码,直接使用 Membership .  来引出智能标记,

这样就很清楚了。

 

                                                 2010—2—06

 

抱歉!评论已关闭.