《用户和角色治理》PPT课件.ppt

上传人:re****.1 文档编号:578643655 上传时间:2024-08-24 格式:PPT 页数:77 大小:306.55KB
返回 下载 相关 举报
《用户和角色治理》PPT课件.ppt_第1页
第1页 / 共77页
《用户和角色治理》PPT课件.ppt_第2页
第2页 / 共77页
《用户和角色治理》PPT课件.ppt_第3页
第3页 / 共77页
《用户和角色治理》PPT课件.ppt_第4页
第4页 / 共77页
《用户和角色治理》PPT课件.ppt_第5页
第5页 / 共77页
点击查看更多>>
资源描述

《《用户和角色治理》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《用户和角色治理》PPT课件.ppt(77页珍藏版)》请在金锄头文库上搜索。

1、Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 第第9章章 用户和角色管理用户和角色管理缀砷脸棺顶簇篱息驼阔陆杠冒坝添啦吁匀脉次广洼晤疤贩凶馈蔗楚患枫伊用户和角色管理Web程序设计-ASP.NET实用网站开发1Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 本章要点:本章要点:了解了解Windows验证;掌握验证;掌握Forms验证验证掌握网站管理工具的应用掌握网站管理工具的应用掌握登录系列控件的应用掌握登录系列控件的应用掌握常用的掌握常用的Membership和和Roles类的方法类的方法慎绦颐骑馒诣普疫墩咎钻萧值教软加雅帮葱琼她低蛋囱篡帝厩届淀泡暴杠用户和角

2、色管理Web程序设计-ASP.NET实用网站开发2Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 目录目录9.1 9.1 身份验证和授权身份验证和授权身份验证和授权身份验证和授权9.1.1 Windows验证验证9.1.2 Forms验证验证9.2 9.2 成员资格和角色管理概述成员资格和角色管理概述成员资格和角色管理概述成员资格和角色管理概述9.2.1 成员资格管理成员资格管理9.2.2 角色管理角色管理9.3 9.3 利用网站管理工具实现成员资格和角色管利用网站管理工具实现成员资格和角色管利用网站管理工具实现成员资格和角色管利用网站管理工具实现成员资格和角色管理理理理煽詹皮

3、呸钟息私碗搭健肃飞贝私助县蜗秧锅吱澄薯瓤答叉糯未怔敌德径刷用户和角色管理Web程序设计-ASP.NET实用网站开发3Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 目录目录9.4 9.4 利用登录系列控件建立安全页利用登录系列控件建立安全页利用登录系列控件建立安全页利用登录系列控件建立安全页9.4.1 Login控件控件9.4.2 CreateUserWizard控件控件9.4.3 LoginName控件控件9.4.4 LoginStatus控件控件9.4.5 LoginView控件控件9.4.6 ChangePassword控件控件9.4.7 PasswordRecovery

4、控件控件 9.5 9.5 调用调用调用调用MembershipMembership类和类和类和类和RolesRoles类进行用户角色管理类进行用户角色管理类进行用户角色管理类进行用户角色管理9.6 9.6 小结小结小结小结乾在弊闲枢圈晋睫捍刚捆惦山辉儒嗡温淆吮挑弦吝仗琳酷给资嫌赚足几峪用户和角色管理Web程序设计-ASP.NET实用网站开发4Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 9.1 身份验证和授权身份验证和授权身份验证:要告知服务器发出请求的用户是谁。身份验证:要告知服务器发出请求的用户是谁。授权:需确定用户能访问哪些资源。授权:需确定用户能访问哪些资源。身身份份

5、验验证证方方式式:Windows验验证证、Passport验验证证、None验证和验证和Forms验证。验证。统钩蛮瓢夜猿澳袖达沟雷阎捧叔馅婉宪踩初凯纺鞠荤砧巳貉资劝距收侯靖用户和角色管理Web程序设计-ASP.NET实用网站开发5Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 9.1.1 Windows验证验证基于基于Windows操作系统用户和用户组,适合于操作系统用户和用户组,适合于企业内部站点使用。企业内部站点使用。要运用要运用Windows验证,服务器端和客户端都必验证,服务器端和客户端都必须是须是Windows操作系统,且操作系统,且Web服务器的硬盘服务器的硬盘格

6、式必须是格式必须是NTFS。 魔琅寄沙莲保沽混嘱迸镜依磅睬癸衣蔼侄皆辆膝掺磷闸筐锹淆咏抚救级众用户和角色管理Web程序设计-ASP.NET实用网站开发6Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 9.1.1 Windows验证(续)验证(续)Windows验验证证方方式式依依靠靠IIS来来执执行行所所需需的的用用户户验验证证,包包括括匿匿名名身身份份验验证证、集集成成Windows身身份份验验证证、Windows域域服服务务器器的的摘摘要要身身份份验验证证和和基基本本身份验证等。身份验证等。访访问问WindowsIdentity和和WindowsPrincipal对对象象可

7、获取验证用户的信息。可获取验证用户的信息。需需配配合合使使用用Windows的的NTFS访访问问控控制制列列表表(ACL)。)。 横艾茎氯落冉尔允枝捌瓜疲高昂筏罢此涉旗闪勘莹孔斗恩鹿刚剧怠糟辈股用户和角色管理Web程序设计-ASP.NET实用网站开发7Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 配置网站配置网站Windows验证验证 右击某站点右击某站点“属性属性”“目录安全性目录安全性”单击单击“身身份验证和访问控制份验证和访问控制”中中“编辑编辑” 呼堑谅傣堪萧茶膊因政盂捻烃吧汉治搞僻邦溯汰去卿杨侨敏管蛰鹃檬结色用户和角色管理Web程序设计-ASP.NET实用网站开发8

8、Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 配置网站配置网站Windows验证(续)验证(续) 在在Windows中新建一个中新建一个用户组,例如用户组,例如“Website”。在在“Website”组中创建若组中创建若干用户。干用户。设置站点对应文件夹的设置站点对应文件夹的授权。授权。 传醒既尘弦攘毫谐经签没床蜀贞状偿嘻疫蓟巧袁焦窜永耻坪堕添败阉媒阶用户和角色管理Web程序设计-ASP.NET实用网站开发9Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 配置网站配置网站Windows验证(续)验证(续)配置站点的配置站点的web.config文件,代码如下

9、:文件,代码如下: 芳事俘叮芳昏巴浮恫佯熄关削谈蕉饥眯医蔽哨禾所奖婶葡化异将报坪击他用户和角色管理Web程序设计-ASP.NET实用网站开发10Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 配置网站配置网站Windows验证(续)验证(续) 在联网的另一台计算在联网的另一台计算机访问站点中网页时,机访问站点中网页时,要求输入用户名和密要求输入用户名和密码。通过身份验证后码。通过身份验证后才能访问相应的网页。才能访问相应的网页。 琳墙茂舀暖仿震播鬃汤薯狱亥殊镰重翔姓弊银瓮獭锹盈旗买取咱授鄙貌汕用户和角色管理Web程序设计-ASP.NET实用网站开发11Web 程序设计程序设计A

10、SP.NET实用网站开发实用网站开发 9.1.2 Forms验证验证适合于适合于Internet站点,是多数站点,是多数Web应用程序使应用程序使用的方式。用的方式。Forms验证本身并不能进行验证,只是使用自验证本身并不能进行验证,只是使用自定义的用户界面收集用户信息,再通过自定义定义的用户界面收集用户信息,再通过自定义代码实现验证。代码实现验证。在使用时,需配合使用在使用时,需配合使用ASP.NET成员资格和角成员资格和角色管理。其中,成员资格用于管理用户,角色色管理。其中,成员资格用于管理用户,角色用于管理授权。用于管理授权。 销树悸渔恳惫阂蛮考屯寄翟裤氯揍菇啄袒鹅咱冉预谎驼削翼沥嗜鞋袍

11、犹无用户和角色管理Web程序设计-ASP.NET实用网站开发12Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 9.1.2 Forms验证验证(续)(续)用户利用用户利用Forms验证访问受保护资源步骤验证访问受保护资源步骤用户请求受保护的网页,如用户请求受保护的网页,如Default.aspx;ASP.NET调用调用Forms验证服务获取用户请求,并检验证服务获取用户请求,并检查其中是否包含用户凭据;查其中是否包含用户凭据;如果未发现任何用户凭据,将自动转向用户登录页如果未发现任何用户凭据,将自动转向用户登录页面,如面,如Login.aspx;初次请求的网页地址初次请求的网页

12、地址Default.aspx将以将以ReturnUrl值值(ReturnUrl是是QueryString中的键值对)的形式,中的键值对)的形式,附加在登录网页附加在登录网页Login.aspx的地址后。当用户通过的地址后。当用户通过验证后,验证后,ASP.NET将根据将根据ReturnUrl值把页面重定值把页面重定向到向到Default.aspx。 坠盒洒诌诺墙拷冠豁孙债多舵蝴悦搅五支蝇很袍溶福玩邀滞格帮促襟数伪用户和角色管理Web程序设计-ASP.NET实用网站开发13Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 9.1.2 Forms验证验证(续)(续)Forms验证的配

13、置验证的配置 臃呸颈贪纽痪庞庐靶爹狂钓太纸吓衷沂妄莽哭红寨沏贾党爷异悉篡辗盖刊用户和角色管理Web程序设计-ASP.NET实用网站开发14Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 配置节属性说明表配置节属性说明表 属性说明name指定用于身份验证的HTTP Cookie名。默认值为.ASPXAUTH。loginUrl指定在未找到身份验证信息时需重定向的页面地址,通常是登录页面地址。默认值Login.aspx。path指定身份验证Cookie存放路径。默认值为“/”。protection指定身份地址Cookie使用的加密类型。虫俩贤戍赐素整舰衅敦念甩抒荫诞溜篱差捍芜坯迸床串

14、圾令宏晒材俩褥悬用户和角色管理Web程序设计-ASP.NET实用网站开发15Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 配置节属性说明表(续)配置节属性说明表(续) requireSSL逻辑值,指定是否需要SSL连接传输身份验证Cookie。slidingExpiration逻辑值,指定是否使用弹性时间。timeout指定身份验证Cookie的过期时间。 defaultUrl指定用户通过身份验证后需重定向的页面地址。默认值为Default.aspx。cookieless指定是否使用Cookie以及使用Cookie的方式。肛票毖捌伍遣臭旷缎弟施祖巡尤湃磷呀晓镶搐惜达伶砰汞糊薄

15、同汝金韶依用户和角色管理Web程序设计-ASP.NET实用网站开发16Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 9.1.2 Forms验证验证(续)(续)FormsAuthentication类:该类提供的属性与类:该类提供的属性与配置节中的属性有对应关系,可以通配置节中的属性有对应关系,可以通过访问类的属性获取过访问类的属性获取配置节中的属性配置节中的属性值。还有,该类提供的方法能够管理值。还有,该类提供的方法能够管理Forms验验证,如证,如RedirectFromLoginPage()将经过身份验将经过身份验证的用户重定向到最初请求的证的用户重定向到最初请求的URL

16、;RedirectToLoginPage()将未经过身份验证的用户重定向到登录页面将未经过身份验证的用户重定向到登录页面等。等。 浸疥撑赐咯沿庄精诗访妒蓬凄俊竞莱烽蒙挎孙彪鳃动凳恋费啃孵乱谷转传用户和角色管理Web程序设计-ASP.NET实用网站开发17Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 9.2 成员资格和角色管理概述成员资格和角色管理概述成员资格管理功能与登录控件和成员资格管理功能与登录控件和Forms验证结验证结合使用,可以提供完善的用户管理功能。合使用,可以提供完善的用户管理功能。配合使用角色管理,可以较好地提供授权管理配合使用角色管理,可以较好地提供授权管理

17、功能。功能。胎糕桨盈肋哀任绍年垂擎皆臭日峪即仗纠克浴苯颜平递净犯除尹剔仁趴何用户和角色管理Web程序设计-ASP.NET实用网站开发18Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 9.2.1 成员资格管理成员资格管理能创建和管理用户信息。能创建和管理用户信息。提供的类能方便地验证用户提交的用户名和密提供的类能方便地验证用户提交的用户名和密码。码。ASP.NET 3.5还实现了成员资格管理与个性化还实现了成员资格管理与个性化用户配置、角色管理等功能的集成。用户配置、角色管理等功能的集成。诫淡淳害药富噪祖望汾艇碟饶射烟落甭歌盯钮杯魁沃出曙套摧秃什逆擞钙用户和角色管理Web程序设

18、计-ASP.NET实用网站开发19Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 9.2.1 成员资格管理(续)成员资格管理(续)基于提供程序模型构建基于提供程序模型构建首先,开发人员使用登录系列控件构建获取用户信首先,开发人员使用登录系列控件构建获取用户信息的界面。息的界面。其次,由登录系列控件调用成员资格管理类中实现其次,由登录系列控件调用成员资格管理类中实现验证的方法。验证的方法。最后,成员资格管理类中的对象将与成员管理提供最后,成员资格管理类中的对象将与成员管理提供程序交互,要求其对成员管理数据库进行操作。程序交互,要求其对成员管理数据库进行操作。 溯看束亡谅济炎是批漂

19、初锈秦竹墓样讼貉矽闲煤长讽掺翼鹰批半雁颧烛勘用户和角色管理Web程序设计-ASP.NET实用网站开发20Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 9.2.1 成员资格管理(续)成员资格管理(续)成员管理数据库以成员管理数据库以ASPNETDB.mdf存储在存储在App_Data文件夹下。文件夹下。与成员资格管理密切相关的数据表是与成员资格管理密切相关的数据表是aspnet_Users和和aspnet_Membership。表。表aspnet_Users存储了用户的部分信息,而存储了用户的部分信息,而aspnet_Membership存储了用户的详细信息。存储了用户的详细信

20、息。成员资格管理的配置由成员资格管理的配置由web.config中中配配置节实现。置节实现。哪肆籍守锭薯虚年农走倦梨梦衰姐袍遇撵典清都宜怀爪凤膨逾绣柱翼沦和用户和角色管理Web程序设计-ASP.NET实用网站开发21Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 的的配置节属性说明表配置节属性说明表 属性说明name指定成员资格提供程序的名称。type指定成员资格提供程序的类型。connectionStringName指定成员资格提供程序使用的连接数据库字符串。applicationName指定使用成员数据库的Web应用程序名称。enablePasswordRetrieval逻

21、辑值,指定是否支持取回密码功能。默认值为false。绘候喜呜惊尧陋后嘱骚胰寅徒氓唤铜殴陀贵呜岛量掇帚艳庶锈向铱迪体姬用户和角色管理Web程序设计-ASP.NET实用网站开发22Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 的的配置节属性说明表(续)配置节属性说明表(续)enablePasswordReset逻辑值,指定是否支持重置密码功能。默认值为true。requiresQuestionAndAnswer逻辑值,指定当重置或取回密码时,是否需要输入密码提示问题。默认值为true。requiresUniqueEmail逻辑值,指定存储在数据库中的电子邮件是否唯一。默认值为fa

22、lse。passwordFormat指定密码的存储格式。默认值为Hashed。扭挣恒深墓浓喳粱内倚多筒搓巡诣赫逼愿酣形蜂沮跺小米拣舞捡昏衔姨宙用户和角色管理Web程序设计-ASP.NET实用网站开发23Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 的的配置节属性说明表(续)配置节属性说明表(续)maxInvalidPasswordAttempts指定允许密码或密码提示问题连续不成功测试的最多次数。默认值为5。passwordAttemptWindow指定跟踪失败的尝试所用的时间。默认值为10分钟。minRequiredPasswordLength指定密码中必须包含字符的最小数

23、量,值范围在1128之间。默认值为1。minRequiredNonalphanumericCharacters指定密码中必须包含的特殊字符的最小数量。默认值为1。passwordStrengthRegularExpression指定用于密码的正则表达式。作币背吧忻际辑澳纂嘶氯谢厂中痪蠕污炔嘶纸乞迸榴暖颓模吾蛔惰咙挂断用户和角色管理Web程序设计-ASP.NET实用网站开发24Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 连接字符串存放位置说明连接字符串存放位置说明在在SqlDataSource控件的定义中控件的定义中 尚乖欠儒怜琴水筏间病昔瞧腮待藐鞠札竟接缴过迭伯切姿聋玫涉责

24、哲第罐用户和角色管理Web程序设计-ASP.NET实用网站开发25Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 9.2.1 成员资格管理(续)成员资格管理(续)Membership类:主要实现用户验证,创建、类:主要实现用户验证,创建、管理以及获取或设置管理以及获取或设置配置节中配置节中相关的属性值。相关的属性值。MembershipUser类:主要获取或设置用户信类:主要获取或设置用户信息功能。息功能。 呜酸娘算优拓可讯撵悟凶支饯兵瑶玻逃绅恶肾天杜轴锋源律渭税邵轿需音用户和角色管理Web程序设计-ASP.NET实用网站开发26Web 程序设计程序设计ASP.NET实用网站开

25、发实用网站开发 9.2.2 角色管理角色管理角角色色是是指指具具有有相相同同权权限限的的一一类类用用户户或或用用户户组组,与授权有密切关系。与授权有密切关系。基基于于角角色色的的授授权权方方式式将将访访问问权权限限与与角角色色关关联联,然然后后,角角色色再再与与用用户户关关联联。管管理理人人员员授授权权时时,是为角色授权,其影响的是角色中的多个用户。是为角色授权,其影响的是角色中的多个用户。在在实实际际使使用用时时,需需要要根根据据不不同同角角色色对对网网页页进进行行分分类类,并并存存放放到到不不同同的的文文件件夹夹中中。然然后后,再再利利用用网网站站管管理理工工具具对对不不同同文文件件夹夹设

26、设置置不不同同的的访访问问规则实现角色授权。规则实现角色授权。惧麓惧扫单载钟惜介粉砷捡麦树秃尤帜质风精白虚未岳脓爹裴镭磊臀层襟用户和角色管理Web程序设计-ASP.NET实用网站开发27Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 9.2.2 角色管理角色管理(续)(续)ASP.NET 3.5角色管理能方便地创建和管理角角色管理能方便地创建和管理角色信息,如创建新角色、为用户分配角色、删色信息,如创建新角色、为用户分配角色、删除用户角色、获取角色信息等。除用户角色、获取角色信息等。能支持使用能支持使用Cookie缓存角色信息,以避免频繁缓存角色信息,以避免频繁访问数据源。访问

27、数据源。缎荣屏迂括圈照彻挚苦碟踊帜敝膀笨国裙墙尾吩氖陈神盼逆歼偷壤刹季窃用户和角色管理Web程序设计-ASP.NET实用网站开发28Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 9.2.2 角色管理角色管理(续)(续)角角色色管管理理与与成成员员资资格格管管理理一一样样基基于于提提供供程程序序模模型构建。型构建。首首先先利利用用登登录录系系列列控控件件实实现现用用户户登登录录、角角色色管管理理等等用户界面。用户界面。然后,调用角色管理对象实现角色管理功能。然后,调用角色管理对象实现角色管理功能。最后将角色信息存储到数据库。最后将角色信息存储到数据库。尖茵晓厕否耽琳崔鸭败泡荷姨

28、吩漠锄蘸补欣征惦辊颠通尼裳蔚洁朗拙涎丹用户和角色管理Web程序设计-ASP.NET实用网站开发29Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 9.2.2 角色管理角色管理(续)(续)角角色色管管理理信信息息存存储储于于ASPNETDB.mdf,其其中中与与角角色色有有密密切切关关系系的的数数据据表表是是aspnet_Roles和和aspnet_UsersInRoles。aspnet_Roles存存储储角角色色信信息息,而而aspnet_UsersInRoles存存储储用用户户和和角角色色的联系信息。的联系信息。角角 色色 管管 理理 的的 配配 置置 通通 过过 web.c

29、onfig中中 的的配置节实现配置节实现 尾帛灭研京苗磕怀太鳖秘蜂掌衙举帝蚀碟亲沁噎多拓亥峨揉镁疟桌供疤剁用户和角色管理Web程序设计-ASP.NET实用网站开发30Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 9.2.2 角色管理角色管理(续)(续)Roles类类 : 访访 问问 其其 属属 性性 能能 获获 取取 或或 设设 置置配配置置节节中中的的属属性性值值,调调用用其其方方法可创建新角色、删除角色等。法可创建新角色、删除角色等。 瘪动右钨认藏辖瘴卿谴疼擒淀误厢插处竟苞鸿讹歌踏络龙聂纲浩河皑误轩用户和角色管理Web程序设计-ASP.NET实用网站开发31Web 程序设

30、计程序设计ASP.NET实用网站开发实用网站开发 9.3 利用网站管理工具实现成员资格和角色管理利用网站管理工具实现成员资格和角色管理 烯算哮涕寇伍乌教矩注角扳桔轿倾慧瓮俘麦抬芜丘买谆奶河傻济猖景堑粪用户和角色管理Web程序设计-ASP.NET实用网站开发32Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 安全设置向导安全设置向导 疆被懒拔吟贯寻固丧汁羚仔讹蕴脑迷悯木雁影玛输棕捧析庞亥关迪簇琳捉用户和角色管理Web程序设计-ASP.NET实用网站开发33Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 安全设置向导(续)安全设置向导(续) 烛巢箍犬哪置烈卓惦刚兹道

31、墅侄叫逝着恬猫酗诽丢奖吞爵执贺涡惕暮灸息用户和角色管理Web程序设计-ASP.NET实用网站开发34Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 安全设置向导(续)安全设置向导(续) 套竣协靴茁坑互滋感姨潘的蚀靛圃蚂十胯襄煞宾贵傅膏危彬睦鹿痢沮撰蒙用户和角色管理Web程序设计-ASP.NET实用网站开发35Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 安全设置向导(续)安全设置向导(续) 宰爷史滔役儡腹妒资忠馁豢尸奸兢壶岭周溅耙荚棒诊北仰妊碟战辉靡赠错用户和角色管理Web程序设计-ASP.NET实用网站开发36Web 程序设计程序设计ASP.NET实用网站开

32、发实用网站开发 安全设置向导(续)安全设置向导(续) 疚溉荚厨率跟瞧筐钞仗梨贤肄届俏饶敛氖邵壹嗅层忘挑弟陵稗扣体戚讣近用户和角色管理Web程序设计-ASP.NET实用网站开发37Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 访问规则说明访问规则说明 被玄猪蔬瞥米潦肛捅币揪白概筛首殷贮漓泡凿酗帆繁媳单庐亥蜂悍现渡褒用户和角色管理Web程序设计-ASP.NET实用网站开发38Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 9.4 利用登录系列控件建立安全页利用登录系列控件建立安全页 任何利用身份验证来实现用户登录,并由此访任何利用身份验证来实现用户登录,并由此访问

33、受保护资源的问受保护资源的Web站点,都需要一系列注册站点,都需要一系列注册登录界面来完成用户身份验证等任务。登录界面来完成用户身份验证等任务。经常需要的功能包括用户登录、创建新用户、经常需要的功能包括用户登录、创建新用户、显示登录状态、显示登录用户名、更新或重置显示登录状态、显示登录用户名、更新或重置密码等。密码等。 晾面蔗螺骂斌令冤剑令矾难消姿瞻凹肮寂奇墟民疗婆质萨湾窿位宣拯烃碳用户和角色管理Web程序设计-ASP.NET实用网站开发39Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 9.4.1 Login控件控件用于实现登录界面,允许自定义界面外观,与用于实现登录界面,允

34、许自定义界面外观,与成员资格管理紧密集成。成员资格管理紧密集成。使用时,主要通过设置属性而不需要编写代码使用时,主要通过设置属性而不需要编写代码就能够实现登录验证功能。就能够实现登录验证功能。实质是一个实质是一个“用户控件用户控件”,通常必须包括:用于,通常必须包括:用于输入用户名的文本框、用于输入密码的文本框输入用户名的文本框、用于输入密码的文本框和用于提交用户凭证的按钮。和用于提交用户凭证的按钮。 辕积睹吱镁误韧寻忆而娘录聘滓符怯裳坞端竣汰拎缩昭豁幼锄括塔栗救右用户和角色管理Web程序设计-ASP.NET实用网站开发40Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 9.4

35、.1 Login控件(续)控件(续)有很强的自定义扩展能力,主要包括:自定义有很强的自定义扩展能力,主要包括:自定义找回密码页面的提示文字和超链接、自定义创找回密码页面的提示文字和超链接、自定义创建新用户页面的提示文字和超链接、自定义建新用户页面的提示文字和超链接、自定义“下次登录时记住下次登录时记住”的的CheckBox控件、自定义模控件、自定义模板等等。板等等。 菱根束萨鹅宿郴旁饥藤苞皇树读羌王辛换镭诡毁舅矩尿罩蝗涯纪胯绘魏襟用户和角色管理Web程序设计-ASP.NET实用网站开发41Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 Login控件的主要属性表控件的主要属性表

36、属性说明 CreateUserText指定“创建新用户”链接显示的文本。CreateUserUrl指定“创建新用户”链接的URL。DestinationPageUrl指定用户登录成功时需重定向的URL。DisplayRememberMe逻辑值,指定是否显示“记住我”复选框。默认值为True。FailureAction指定登录失败时采取的操作。值RedirectToLoginPage表示重定向到自定义用户登录页面;值Refresh表示刷新页面并显示错误提示信息。碴焰赘典昔既邱钵兰浚熬鄙表舆夹病合控伍俞林甥掺釉说纪泳予颓吮咎篮用户和角色管理Web程序设计-ASP.NET实用网站开发42Web 程序

37、设计程序设计ASP.NET实用网站开发实用网站开发 Login控件的主要属性表(续)控件的主要属性表(续)Password获取用户提交的密码。PasswordRecoveryText指定“密码恢复”链接显示的文本。PasswordRecoveryUrl指定“密码恢复”链接的URL。RemberMeSet指定是否选中“记住我”复选框。UserName获取或设置用户名文本框的内容。VisibleWhenLoggedIn逻辑值,指定用户登录成功后Login控件是否可见。默认值为True。扬那欲柑狠舒帅汪帐竖鳖鹃萧王捕逞僵姻陆安例拿斑哲班髓善铡络三箍坤用户和角色管理Web程序设计-ASP.NET实用网

38、站开发43Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 实例实例9-1 建立登录页面建立登录页面当输入用户名和密码后,单击当输入用户名和密码后,单击“登录登录”按钮,若按钮,若用户名和密码正确则链接到用户名和密码正确则链接到Default.aspx,否则,否则给出错误提示信息;单击给出错误提示信息;单击“注册新用户注册新用户”链接到链接到NewUser.aspx;单击;单击“忘记密码了?忘记密码了?”链接到链接到GetPwd.aspx。源代码:源代码:Login.aspx 丫订梦嫁冷鞘施警粤蜘纷爹融伊斥键的电晚渤赃舶褪齿庇孩美撤反埋牲沏用户和角色管理Web程序设计-ASP.N

39、ET实用网站开发44Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 9.4.2 CreateUserWizard控件控件实质是一个专用于创建新用户的实质是一个专用于创建新用户的Wizard控件,控件,与成员资格管理紧密集成,能快速的在成员数与成员资格管理紧密集成,能快速的在成员数据表中创建新用户。据表中创建新用户。 投躬胎扒集概块沁酵耗尝箩翅嘲毕山滚痔暑卸型壶停索犁囚笛龄险埃诛绢用户和角色管理Web程序设计-ASP.NET实用网站开发45Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 9.4.2 CreateUserWizard控件(续)控件(续)CreateU

40、serWizard控件使用时要与控件使用时要与web.config中的中的配置节属性信息结合。配置节属性信息结合。要求输入的密码为强密码(即密码至少要求输入的密码为强密码(即密码至少7个字个字符、至少包括一个字母和至少包括一个非数字符、至少包括一个字母和至少包括一个非数字非字母的特殊符号),设置属性非字母的特殊符号),设置属性minRequiredPasswordLength、minRequiredNonalphanumericCharacters。要显示要显示“安全提示问题安全提示问题”和和“安全答案安全答案”,需要设,需要设置属性置属性requiresQuestionAndAnswer。

41、口换舟莲婚芬狞副拇加良庙霍蒲酱气沉潍俄饲疮弯嫡檀谆饺胜邯赐爪馋唯用户和角色管理Web程序设计-ASP.NET实用网站开发46Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 9.4.2 CreateUserWizard控件(续)控件(续)属性属性MailDefinition:代表了:代表了MailDefinition类类的一个对象。的一个对象。MailDefinition类提供了定义一封类提供了定义一封E-mail需要的需要的所有属性,如属性所有属性,如属性From指定邮件从哪里发出;指定邮件从哪里发出;属性属性Subject指定邮件的主题;属性指定邮件的主题;属性BodyFil

42、eName指定要发送邮件的文本等。在使指定要发送邮件的文本等。在使用用BodyFileName时,首先需定义一个时,首先需定义一个.txt文件,文件,如如ThankEmail.txt。该文件可包含一些特殊表。该文件可包含一些特殊表达式如达式如和和用来代替注册的用户名和用来代替注册的用户名和密码。密码。 骗抠讽凛镣纽件苇诈优趴愈厄菱刷知铺序毫敛功蒋殷送滋杯立姆故晾垮秩用户和角色管理Web程序设计-ASP.NET实用网站开发47Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 9.4.2 CreateUserWizard控件(续)控件(续)要发送电子邮件,还要配置要发送电子邮件,还要

43、配置。 纳民肤屹抒锻租澈尔坛钻收肿阮元行出扇匡哗仁娩窑寡景肚拌菱硒再氦嗽用户和角色管理Web程序设计-ASP.NET实用网站开发48Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 9.4.2 CreateUserWizard控件(续)控件(续)CreateUserWizard控件的发送邮件功能还可与控件的发送邮件功能还可与属性属性AutoGeneratePassword属性结合,用于验属性结合,用于验证用户注册的电子邮箱是否正确。证用户注册的电子邮箱是否正确。暂咯催永僳怯晋琐将骆掌美馒释蔗炎网械石棱活颓孵卷哈函弃刃顶缺扒例用户和角色管理Web程序设计-ASP.NET实用网站开发

44、49Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 CreateUserWizard控件的主要属性和事件表控件的主要属性和事件表 属性和事件说明 ActiveStepIndex获取或设置当前步骤的索引值,值从0开始。Answer获取或设置对密码问题的答案。ConfirmPassword获取用户输入的确认密码。ContinueDestinationPageUrl获取或设置在用户单击成功页上的继续按钮后将重定向到页面的URL地址。DisableCreatedUser逻辑值,指定是否允许新用户登录到网站。默认值为false。父帘釜般孽粱崎舒睹膜耶害尺纵雄境窟聂丛棒卉澡叁怕戏俞挎抚茁秤

45、蠢吁用户和角色管理Web程序设计-ASP.NET实用网站开发50Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 CreateUserWizard控件的主要属性和事件表控件的主要属性和事件表(续)(续)Email获取或设置用户输入的电子邮件地址。LoginCreatedUser逻辑值,指定是否在创建用户后登录新用户。默认值为true。Password获取用户输入的密码。Question获取或设置用户输入的密码问题。UserName获取或设置用户输入的用户名。CreatedUser事件在成员资格程序创建了新用户后被触发。稀先堤共涕芦狮蹲丘根吝半季糙欧梭犁缺带岁通蚂男雪婴前吠片住错儡

46、商用户和角色管理Web程序设计-ASP.NET实用网站开发51Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 实例实例9-2 建立新用户建立新用户当新用户填入注册信息后,若符合设置的规则,当新用户填入注册信息后,若符合设置的规则,则单击则单击“创建新用户创建新用户”按钮将把该用户加入到一按钮将把该用户加入到一般的成员角色般的成员角色“Member”中,并给用户发送感中,并给用户发送感谢注册网站的邮件,再将网页重定向到谢注册网站的邮件,再将网页重定向到Login.aspx;当新用户填入的信息不符合设置;当新用户填入的信息不符合设置的规则时,给出相应的出错提示信息。的规则时,给出相

47、应的出错提示信息。感谢注册网站的邮件文本:感谢注册网站的邮件文本:ThankEmail.txt源程序:源程序:NewUser.aspx 镊滴协靶胜期我支氨位澡朵路霜虚积瓷理映澈艇釜诛指腮标波早紊必瘤缩用户和角色管理Web程序设计-ASP.NET实用网站开发52Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 9.4.3 LoginName控件控件用于用户登录验证之后,显示登录的用户名。用于用户登录验证之后,显示登录的用户名。实际上实际上LoginName显示的是显示的是System.Web.UI.Page.User.Identity.Name的属的属性值。性值。不仅可以显示通过不

48、仅可以显示通过Forms验证的用户名,还可验证的用户名,还可以显示其它登录验证之后的用户名。以显示其它登录验证之后的用户名。欧吁宏熔拒畏剐漏递幼锑限率早绿嚣汀该齿尝群艰作形浴劳两厄粮令芋鄂用户和角色管理Web程序设计-ASP.NET实用网站开发53Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 9.4.3 LoginName控件(续)控件(续)LoginName控件的属性控件的属性FormatString用于格式用于格式化输出的用户名。如若设置化输出的用户名。如若设置FormatString=“Welcome,0”,则对已登录用,则对已登录用户名户名admin,将在页面上显示,

49、将在页面上显示 “Welcome,admin”。匙索曼罗妒妨复豁名托室塌肺藩序揩窿眺绪肾迄足旱躁探绞援姓渔忘厦鸭用户和角色管理Web程序设计-ASP.NET实用网站开发54Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 9.4.4 LoginStatus控件控件 实现用户登录状态之间的切换。实现用户登录状态之间的切换。如果如果HttpRequest.IsAuthenticated属性返回值属性返回值为为true,则表示用户通过验证,处于已登录状,则表示用户通过验证,处于已登录状态,默认显示态,默认显示“注销注销”;否则表示处于未登录状;否则表示处于未登录状态,默认显示态,默认显

50、示“登录登录”。 巫每串缝参硼钮污簧皿拖裕泥菜缎扬靠脚杰短蔚特纽搞似肌漓岛释腥虫芍用户和角色管理Web程序设计-ASP.NET实用网站开发55Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 9.4.4 LoginStatus控件(续)控件(续)当未登录用户单击当未登录用户单击“登录登录”时将链接到网站根文时将链接到网站根文件夹下的件夹下的Login.aspx,因此,需要将该文件存,因此,需要将该文件存放到根文件夹下。放到根文件夹下。当登录用户单击当登录用户单击“注销注销”时将由时将由LoginStatus控件控件的属性的属性LogoutAction确定操作方式,值确定操作方式,

51、值Refresh表示刷新页面;值表示刷新页面;值 Redirect表示重定向到表示重定向到LogoutPageUrl属性定义的页面;值属性定义的页面;值RedirectToLoginPage表示重定向到表示重定向到web.config中中配置节的属性配置节的属性loginUrl定义的登录页定义的登录页面。面。 博缘妹罢巾浙霹它瞧恳涅坊钒抱忿闯淬瞬烩涣魂椽釜柄查颗准维虞崩进酷用户和角色管理Web程序设计-ASP.NET实用网站开发56Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 9.4.4 LoginStatus控件(续)控件(续)事件事件LoggingOut:在单击注销按钮时

52、被触发,:在单击注销按钮时被触发,常用于当用户必须完成某一项活动后才能离开常用于当用户必须完成某一项活动后才能离开网站的情形。若未完成该项活动,则可以通过网站的情形。若未完成该项活动,则可以通过设置设置LoginCancelEventArgs参数的属性参数的属性Cancel值设置为值设置为true,达到取消注销过程的目的。,达到取消注销过程的目的。事件事件LoggedOut:在注销完成后被触发,常用:在注销完成后被触发,常用于释放数据库连接等。于释放数据库连接等。 随阮何梭触告血博胆扒哄胳罩嫁墅懊狼劳么俗逞击常魂迄腹整聋撵余罚腐用户和角色管理Web程序设计-ASP.NET实用网站开发57Web

53、 程序设计程序设计ASP.NET实用网站开发实用网站开发 9.4.5 LoginView控件控件根据匿名用户、登录用户或不同角色的用户显根据匿名用户、登录用户或不同角色的用户显示不同的页面内容。示不同的页面内容。 翼梅哗滋企炙兢饰壬惺步檬崖责饭垫慈园秘凤镑灾藉那曲杆蹭延鸡励懂患用户和角色管理Web程序设计-ASP.NET实用网站开发58Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 9.4.5 LoginView控件(续)控件(续) AnonymousTemplate:用用于于设设置置匿匿名名用用户户显显示示的视图内容;的视图内容;LoggedInTemplate:用用于于设设

54、置置已已登登录录站站点点,但但不不属属于于属属性性RoleGroups指指定定的的包包含含于于任任何何角角色色的用户显示的视图内容;的用户显示的视图内容;RoleGroups:用用于于设设置置具具有有特特定定角角色色的的用用户户显显示示的的视视图图内内容容。当当一一个个用用户户属属于于多多个个角角色色时时,应应用用程程序序的的执执行行将将对对RoleGroups中中的的集集合合进进行行搜索,然后显示第一个匹配的模板内容。搜索,然后显示第一个匹配的模板内容。 节人逼报嚎桃吊浚峭蹿翠洒镶沤依排殉现评垫澳御睫敲谚肘计亿邹世益锅用户和角色管理Web程序设计-ASP.NET实用网站开发59Web 程序设

55、计程序设计ASP.NET实用网站开发实用网站开发 实例实例9-3 利用利用LoginView显示不同界面显示不同界面 源程序:源程序:Default.aspx 程序说明:当用户未登录时直接浏览程序说明:当用户未登录时直接浏览Default.aspx可看到匿名用户界面。单击可看到匿名用户界面。单击“登录登录”链接到网站根文件夹下的链接到网站根文件夹下的Login.aspx,以不同,以不同角色用户登录后浏览器再跳转到角色用户登录后浏览器再跳转到Default.aspx,此时可看到对应角色的不同界面效果。此时可看到对应角色的不同界面效果。 偷谨葱挨过镰盔唱蜒悍册伺敲胰泛黍邵循控户毡抚汇杜纸侈鹰攻披界

56、守饮用户和角色管理Web程序设计-ASP.NET实用网站开发60Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 9.4.6 ChangePassword控件控件用于修改用户的登录密码。用于修改用户的登录密码。件集成了成员资格管理功能,支持两种情况的件集成了成员资格管理功能,支持两种情况的修改密码。一种是用户登录后,提交旧密码和修改密码。一种是用户登录后,提交旧密码和新密码来完成密码修改工作;另一种是用户不新密码来完成密码修改工作;另一种是用户不登录站点,此时需提交用户名、旧密码和新密登录站点,此时需提交用户名、旧密码和新密码完成密码修改工作。码完成密码修改工作。支持向用户发送包

57、含密码已修改提示信息的电支持向用户发送包含密码已修改提示信息的电子邮件。子邮件。 摄碌堂惠护狄暇锰铝舞奉雷锭恬彦俊钱诊渠准催湍售寐拙皱煮绢霍避嗜性用户和角色管理Web程序设计-ASP.NET实用网站开发61Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 9.4.6 ChangePassword控件(续)控件(续)要允许未登录用户修改密码,需设置属性要允许未登录用户修改密码,需设置属性DisplayUserName值为值为true。内置了两个视图:更改密码视图和成功视图。内置了两个视图:更改密码视图和成功视图。侠贴搭鹿矫如燕钱窗漏攫踩桨企熟夜碟丁州骸汇菌汐慰匆广涵迄夯鳃贺且用户和

58、角色管理Web程序设计-ASP.NET实用网站开发62Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 实例实例9-4 修改用户密码修改用户密码 源程序:源程序:ChangePwd.aspx 墟野难刨糕娇酮涨籽摇篮尧模瀑巷蔽董秋捻摘蜡逆墒其坝庄点佑茵氏主心用户和角色管理Web程序设计-ASP.NET实用网站开发63Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 9.4.7 PasswordRecovery控件控件适用于用户丢失密码后,需要找回或重置密码适用于用户丢失密码后,需要找回或重置密码的情况。的情况。与成员资格管理功能集成,有两种工作方式。与成员资格管理功能

59、集成,有两种工作方式。一种是找回原有密码,这种模式需要将一种是找回原有密码,这种模式需要将配置节的属性配置节的属性passwordFormat值设置为值设置为Clear或或Encrypted;另一种是得到重;另一种是得到重置密码,这种模式需设置置密码,这种模式需设置passwordFormat值为值为Hashed。因经过。因经过Hash计算的密码不可恢复,计算的密码不可恢复,所以第二种方式只能由系统随机产生一个新密所以第二种方式只能由系统随机产生一个新密码。最后,控件将找回或重置的密码通过电子码。最后,控件将找回或重置的密码通过电子邮件通知用户。邮件通知用户。 贾蔫雏谈钩惑纶丑柑买发自侩热挂缆

60、脊五放弧秋泪温砌姨挪谍谓蛆窘窘般用户和角色管理Web程序设计-ASP.NET实用网站开发64Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 9.4.7 PasswordRecovery控件(续)控件(续)使用使用PasswordRecovery控件时,除与属性控件时,除与属性passwordFormat有关外,还与有关外,还与配置节中其它的属性有关。例如,如果已设置配置节中其它的属性有关。例如,如果已设置requiresQuestionAndAnswer值为值为true,则用户,则用户在找回密码的过程中将被要求回答安全问题。在找回密码的过程中将被要求回答安全问题。Passwor

61、dRecovery控件内置了三个视图:用户控件内置了三个视图:用户名视图、提示问题视图和成功视图。名视图、提示问题视图和成功视图。 瘪缴素区可兼陆迢谎充午潦兹肘饥咖棘拥损除竞蚁赦牡除窟障拷栗粮弱让用户和角色管理Web程序设计-ASP.NET实用网站开发65Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 实例实例9-5 重置用户密码重置用户密码输入用户名,再输入安全问题答案。若输入的输入用户名,再输入安全问题答案。若输入的用户名和安全问题答案均正确,将给用户发送用户名和安全问题答案均正确,将给用户发送包含重置密码的电子邮件。包含重置密码的电子邮件。源程序:源程序:GetPwd.a

62、spx 嚣频颐孙端宦冉肖糕齐椎咐盟蹈剥屎砚皂下毕毋搬巳撕戳侈蔚淘潭颓干斜用户和角色管理Web程序设计-ASP.NET实用网站开发66Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 9.5 调用调用Membership类和类和Roles类进行用户角色管理类进行用户角色管理 登录系列控件能快速地创建用户管理的安全页,登录系列控件能快速地创建用户管理的安全页,但对删除用户、角色管理等无能为力。这些功但对删除用户、角色管理等无能为力。这些功能需要直接调用能需要直接调用Membership类和类和Roles类的相类的相关方法实现。关方法实现。 牧若淖诽蕴线毛鹊糠委前住康袜苯毋答撂捏幸借享

63、紧炉誓脾惺樟矩媒蜒磊用户和角色管理Web程序设计-ASP.NET实用网站开发67Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 Membership类提供的典型方法类提供的典型方法CreateUser():添加一个新用户。:添加一个新用户。DeleteUser():删除一个指定用户。:删除一个指定用户。FindUsersByEmail():根据输入的电子邮件参:根据输入的电子邮件参数获取相关的用户信息集合。数获取相关的用户信息集合。GeneratePassword():创建一个特定长度的随:创建一个特定长度的随机密码。机密码。GetAllUsers():获取所有用户的信息集合。

64、:获取所有用户的信息集合。ValidateUser():实现对用户的验证。:实现对用户的验证。 泰栖拾萄粮许颈市呜斑捂舆营戴啃隧匠捶筋梦胜侵森妆札殴描饮隔椭碴跌用户和角色管理Web程序设计-ASP.NET实用网站开发68Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 Roles类提供的典型方法类提供的典型方法AddUsersToRole():将多个用户分配到一个角:将多个用户分配到一个角色中。色中。RemoveUserFromRole():从一个角色中删除:从一个角色中删除一个用户。一个用户。CreateRole():创建一个新角色。:创建一个新角色。DeleteRole():

65、删除一个指定的角色。:删除一个指定的角色。息捧俐柜搔盎敢骚误掂轧内桌痴绍焕羽余与椰炊扳干匠沁柿籍红闽豫脏耿用户和角色管理Web程序设计-ASP.NET实用网站开发69Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 Roles类提供的典型方法(续)类提供的典型方法(续)GetAllRoles():获取所有角色名数组。:获取所有角色名数组。GetUsersInRole():获取指定角色中包含的用:获取指定角色中包含的用户名数组。户名数组。IsUserInRole():判断指定用户是否归属于指定:判断指定用户是否归属于指定的角色。的角色。RoleExists():判断是否已存在指定的

66、角色名。:判断是否已存在指定的角色名。 惫量佬甘俩疚御谢甄瓤射错椭须里咎市履罕现矽柜傣廖朝简杭途第丘巳辟用户和角色管理Web程序设计-ASP.NET实用网站开发70Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 显示用户列表和删除用户显示用户列表和删除用户用用户户列列表表显显示示和和删删除除用用户户功功能能常常包包含含于于网网站站的的后后台台管管理理中中,仅仅提提供供给给特特定定的的角角色色用用户户,在在网网站开发过程中要注意授权的分配。站开发过程中要注意授权的分配。掐掳采辐匆奏毒辫调扒秩甲蒋鄙橱留暂佰薯次馅饵苇硝妖廉箱之唆仰犁也用户和角色管理Web程序设计-ASP.NET实用

67、网站开发71Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 实例实例9-6 显示用户列表和删除用户显示用户列表和删除用户能显示网站所有的注册用户,能删除相应的用能显示网站所有的注册用户,能删除相应的用户。户。源程序:源程序: MemberDelete.aspx 程序说明:页面首次载入时调用自定义方法程序说明:页面首次载入时调用自定义方法GetAllUsers()得到所有用户列表并绑定到得到所有用户列表并绑定到GridViewl。当单。当单击删除按钮时,在删除击删除按钮时,在删除GridView1中所在行之中所在行之前触发前触发RowDeleting事件,删除数据库中的用事件,删

68、除数据库中的用户。户。 蜀顿墨硬如群维晶埋枪殷剿亥粥渡锻疆畴蝴扶孰排蹿乡仑豹皆年匿酵荡辈用户和角色管理Web程序设计-ASP.NET实用网站开发72Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 用户归属角色的操作用户归属角色的操作 若使用基于角色的安全技术,应在网站开发时若使用基于角色的安全技术,应在网站开发时就要考虑实际情况中可能出现的角色,然后利就要考虑实际情况中可能出现的角色,然后利用网站管理工具,预先建立这些角色,并对这用网站管理工具,预先建立这些角色,并对这些角色设置合适的访问规则。些角色设置合适的访问规则。网站运行后再注册的用户,可以通过调用网站运行后再注册的用户

69、,可以通过调用Roles.AddUserToRole()将该用户添加到一般的角色中。将该用户添加到一般的角色中。若要对某些注册的用户添加到特定的角色,或若要对某些注册的用户添加到特定的角色,或从角色中删除一些用户,可考虑将这些功能放从角色中删除一些用户,可考虑将这些功能放到网站的后台管理中。到网站的后台管理中。 尸蛰巨姨舅梢偿哉锹蚁屋便犀陪置殊冶淘署卓孪垦癸谈滋奔凭息掣夜窗凝用户和角色管理Web程序设计-ASP.NET实用网站开发73Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 实例实例9-7 添加用户到角色和从角色中删除用户添加用户到角色和从角色中删除用户 能显示角色中包含

70、的用户;能删除角色中的用能显示角色中包含的用户;能删除角色中的用户;能将选中的用户添加到选中的角色中。户;能将选中的用户添加到选中的角色中。源程序:源程序:RolesUsers.aspx 相柯甥尔阿漆钻涝磅蛀左辨签俘翌溉座砸饼栖免郊谱羞媚薄坦瘪赊显喜潮用户和角色管理Web程序设计-ASP.NET实用网站开发74Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 程序说明程序说明 页面首次载入时将系统中定义的角色名和用户页面首次载入时将系统中定义的角色名和用户名分别绑定到两个名分别绑定到两个ListBox上。上。当选中某角色时,引起页面往返,执行当选中某角色时,引起页面往返,执行Pa

71、ge_Load事件中代码,将选中角色包含的用事件中代码,将选中角色包含的用户绑定到户绑定到GridView上。上。当单击当单击“从角色中删除从角色中删除”时,在删除选择行时之时,在删除选择行时之前触发前触发RowDeleting事件,从选中角色中删除事件,从选中角色中删除选择行所在的用户,再刷新选择行所在的用户,再刷新GridView。当选择完用户,再单击当选择完用户,再单击“添加到角色添加到角色”后将把这后将把这些用户添加到选中的角色中,最后刷新些用户添加到选中的角色中,最后刷新GridView。席她贼模嚼没晴丁貉孟洗替支优浮医缺萌语乌摇誓翔霍瞄缓特控龙帮撰欣用户和角色管理Web程序设计-A

72、SP.NET实用网站开发75Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 9.6 小结小结Windows验证适用于构建基于验证适用于构建基于Intranet的网站,的网站,而而Forms验证适用于构建基于验证适用于构建基于Internet的网站。的网站。使用使用Forms验证常要和验证常要和web.config、用户和角色、用户和角色管理配合。管理配合。用户管理在用户管理在ASP.NET 3.5中通过成员资格管理中通过成员资格管理实现,而用户授权由角色管理实现。实现,而用户授权由角色管理实现。帽势虹瓷腕申趴执稀允妥洽硝佐续孺房淤丑涉署娘仲鲍组炳改弱寝嚷伪软用户和角色管理Web

73、程序设计-ASP.NET实用网站开发76Web 程序设计程序设计ASP.NET实用网站开发实用网站开发 9.6 小结(续)小结(续)要使用角色管理,需要将网站的网页根据角色要使用角色管理,需要将网站的网页根据角色不同进行分类,归属于不同的文件夹。不同进行分类,归属于不同的文件夹。实际上,授权的实现建立在对文件夹设置访问实际上,授权的实现建立在对文件夹设置访问规则的基础上。规则的基础上。实现成员资格管理和角色管理的途径有:一是实现成员资格管理和角色管理的途径有:一是利用网站管理工具;二是利用登录系列控件;利用网站管理工具;二是利用登录系列控件;三是直接调用三是直接调用Membership和和Roles等类的方法。等类的方法。但实际工程使用常需要三种途径的配合。但实际工程使用常需要三种途径的配合。亡涯萌伴芝柒霉祟悼烁畔仿萎罐蛆恿攒吹播纵涤远亭洋蚤棠碗哺掏壤访发用户和角色管理Web程序设计-ASP.NET实用网站开发77

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号