分享
 
 
 

Community Server专题八:MemberRole之Membership

王朝other·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

MemberRole是一个在asp.net 1.1下实现用户管理、角色管理、用户特性信息存储(profile)等的一个组件,该组件被ASP.NET 2.0 Beta 2所采用,也就是ASP.NET 2.0 Beta 2中所说的Membership and Roles。如果你在asp.net 1.1下采用了MemberRole,那么你的web程序将会很容易的过渡到asp.net 2.0,另外多个采取MemberRole进行用户管理的web程序需要整合时也非常容易。我将分4个专题来分析MemberRole,探索一下MemberRole到底是如何工作的,无论对CS的构架还是对了解asp.net 2.0都是非常有帮助的。

CS中,运用该组件的4个部分:membership、roleManager、profile、anonymousIdentification的运用(整个MemberRole也这四部分功能)。

在分析前,准备需要一个工具:Reflector.exe,没有的朋友google一下,下载它。

本次专题分析membership,先看一下CS中Membership的配置文件(Web.Config中):

<membership userIsOnlineTimeWindow="15" >

<providers>

<add

name="CommunityServerSqlProvider"

type="Openlab.AutoRegister.CSAutoBlogGalleryMembershipProvider, Openlab.CSAddOns"

connectionStringName="SiteSqlServer"

enablePasswordRetrieval="false"

enablePasswordReset="true"

requiresQuestionAndAnswer="false"

requiresUniqueEmail="true"

passwordFormat="Hashed"

applicationName="dev"

description="Stores and retrieves membership data from the local Microsoft SQL Server database"

autoCreateBlog="false"

defaultBlogGroupID="3"

autoCreateGallery="false"

defaultGalleryGroupID="2"

maxInvalidPasswordAttempts = "999"

passwordAttemptWindow = "999"

minRequiredPasswordLength = "4"

minRequiredNonalphanumericCharacters = "0"

/>

</providers>

</membership>

userIsOnlineTimeWindow:这是一个数值,用来计算在线用户的数量,例如:15,就表示如果用户在15分钟后不活动(发出Http请求)CS系统将视该用户不在线。

Name:名称

type:类的名字空间与所在的程序集合

connectionStringName:数据库连接字符串节点的key。通过这个key就可以找到连接数据库的用户名与密码

enablePasswordRetrieval:是否打开取回秘密功能

enablePasswordReset:是否打开秘密重新设功能

requiresQuestionAndAnswer:注册时是否需要填写Question与Answer

requiresUniqueEmail:注册时是否Email唯一

passwordFormat:密码的加密格式

applicationName:使用该membership应用程序的名称

description:描述信息

以下4个参数是CCS中添加的,目的是给注册用户自动开通相册和博客

autoCreateBlog:是否当用户注册时自动为该用户建立一个Blog

defaultBlogGroupID:默认的建立blog的分组ID

autoCreateGallery:是否当用户注册时自动为该用户建立一个相册

defaultGalleryGroupID:默认的建立相册的分组ID

用Reflector.exe打开MemberRole.dll,你可以看到以下的内容:

再打开Microsoft.ScalableHosting.Configuration节点

这次我们只关注两个类MembershipConfig、MembershipConfigHandler。MembershipConfigHandler实现了IConfigurationSectionHandler接口。也就是说,CS启动后如果调用ConfigurationSettings.GetConfig("memberrolesprototype/membership"),系统将会自动的调用MembershipConfigHandler中的Create方法把web.config中memberrolesprototype/membership的配置内容读入进行处理。先看以下Create做了些什么:

public virtual object Create(object parent, object configContextObj, XmlNode section)

{

MembershipConfig config1 = new MembershipConfig(parent as MembershipConfig);

int num1 = -1;

ConfigUtils.GetAndRemovePositiveIntegerAttribute(section, "userIsOnlineTimeWindow", ref num1);

if (num1 > 0)

{

config1.UserIsOnlineTimeWindow = num1;

}

string text1 = null;

ConfigUtils.GetAndRemoveStringAttribute(section, "hashAlgorithm", ref text1);

if ((text1 != null) && (text1.Length > 0))

{

config1.HashAlgorithmType = text1;

}

ConfigUtils.CheckForUnrecognizedAttributes(section);

MembershipProvider provider1 = null;

foreach (XmlNode node1 in section.ChildNodes)

{

if (node1.NodeType != XmlNodeType.Element)

{

continue;

}

if (node1.Name != "providers")

{

throw new ConfigurationException("Unrecognized tag: " + node1.Name, node1);

}

foreach (XmlNode node2 in node1.ChildNodes)

&

[1] [2] [3] 下一页

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有