
E-file:Cary
Cary的最新文章:
- 转载文章,报销上网费
- 17岁“黑客”入侵学校网站 帮差生提成绩“恶搞”优秀生
- [设计佳作]我们的一生
- 中学生应用E-file技术建网站——刘航求知求是网站简介
- 八强网诚邀网络爱好者报道所关注的网站
- 06年IT界21大丑闻 索尼电池着火居首
- 如何提高网站的Google PR值
- 电子商务出现新BforC模式 B2C格局将变
- 美国视频网站竞争加剧 高价购买原创视频
- 专家提醒消费者域名投资暗藏风险
- 警惕IE浏览器被劫持
- 截至2006上半年,我国未成年人网民达1830万
- 互联网协会正式公布“恶意软件”最终定义
- 中国企业网站为何未进入爆发期
- [欣赏] 中式网站之古典风格
- 研究发现医生诊断也Google 搜索结果准确率58%
- 人因素(Human Factor)介绍
- 用户中心设计的概念
- 发一封邮件做一道数学题 100%剿灭垃圾邮件?
- 盖茨质疑WEB2.0 称新名词无非是赶时髦
- 2005中国行业电子商务网站TOP100榜单
- 网易也推出免费个性域名邮箱
- 12招让你充分管理操作系统
- 新威胁 十大Web2.0下的攻击方式
- Web2.0进入快速发展期
- 我能让WEB2.0赢利
- 网猎模式发挥WEB2.0优势获取人才
- 互联网的冬天,个人站站应该做些什么?
- 建立Web2.0网站需要解决的问题
- 特别报道:20年最强病毒排行榜
- 制作3D效果的LOGO旋转
- ActionScript 3.0 概要
- Flash MX常用快捷键一览
- 20个Flash制作漂亮动画的经典问题问答
- 搜索引擎不收录网站页面16种原因
- 网页版POPO盛秋清凉登场
- 世界互联网正处于剧变前夜
- 请不要主动地置隐私信息于危险之中
- 网易首页今日全新上线
- Net Live时代最佳建站系统——E-file
- Digg创始人:Web1.0是Emai Web2.0是IM
- 当web2.0遇上企业时
- 文明办团中央等出台举措变网瘾少年为网创人才
- 国内10大域名注册商
- shtml和html的区别
- 做网站,你的前途出路在那里?
- Google sitelinks的两个核心要素
- Google中文网站“谷歌”消失 疑为技术出错
- Google Earth V4.0.2091 Beta
- Google Sitelinks分析
首页--文章内容
| ASP.NET2.0应用中定制安全凭证之理论篇 | |||||||
| www.fh888.com 2006-1-4 18:13:02 | |||||||
| 媒体:天极开发 作者:朱先忠编译 发布:Cary |
|||||||
| [阅读提要]在缺省状况下,你只能使用Visual Studio 2005的一个本机实例来管理与ASP.NET 2.0一同发行的SQL Server数据库中的安全凭证。本文将向你展示怎样用一个Web服务来包装ASP.NET 2.0提供者并通过使用一个Windows表单应用程序来管理凭证存储从而扩展这种管理能力。 如今,无论是互联网还是企业内部局域网程序一般都要求使用定制的方式来存储和管理用户帐户和角色。为此,ASP.NET 2.0提供了一个现成的提供者模型和一个SQL Sever数据库。不幸的是,只能通过Visual Studio 2005来管理该凭证数据库且只能针对本机Web应用程序。这无疑是非常不方便而且不能广泛使用的。 本文描述了一个超级用户可以使用的完全定制的安全管理应用程序。这个应用程序通过用一个WEB服务对ASP.NET 2.0提供者进行了包装并增加了一些功能。本文详细描述了其中的设计方法,面临的问题和包含在应用程序中的技术。同时还向你介绍了一些有用而强有力的技术,如基于接口的Web服务,基于反射的Web服务兼容性,高级C# 2.0编程,Web服务安全性和Web服务事务等。 一、ASP.NET 2.0凭证基础结构 基于互联网的应用程序常常不依赖Windows帐户和组,而是依赖于基于表单的认证并结合某种如SQL Server的后台定制凭证存储。为了帮助开发者免除重复设计和构建这样的解决方案,ASP.NET 2.0发行中加入了一个现成的安全凭证基础结构。ASP.NET 2.0凭证存储并不仅可用于ASP.NET应用程序,而且ASP.NET Web服务和Windows表单应用程序都能使用它来管理它们的用户凭证。另外,Windows通讯基础(编码名为Indigo)服务也能被容易地设置来使用ASP.NET 2.0安全凭证存储。 ASP.NET 2.0使用一提供者模型来访问和管理凭证以避免把应用程序耦合到任何特定存储上。在利用抽象提供者模型的优点的同时由程序员来开发这个应用程序。超级用户负责选择和管理特定的凭证存储。图1显示出ASP.NET 2.0安全提供者的架构。
Membership Provider负责管理用户,而Role Provider负责管理角色。在凭证存储中,每个用户或角色仅限于一应用程序之内。这样就允许不同应用程序使用一样的凭证存储而不会与彼此的用户名或角色相冲突。ASP.NET为SQL服务器、Windows和活动目录(见图1)等的凭证存储提供支持。为了安装SQL Server凭证数据库,可以运行aspnet_regsql.exe程序,其位置是: <WINDOWS>\Microsoft.NET\Framework\<version> 这个安装程序创建一个称为aspnetdb的新数据库-它包含一组应用程序的表、用户、角色以及存取这些表的存储过程。这个SQL Server数据库是运用最新的安全技术经过精心设计的。另外,ASP.NET 2.0还提供一套相应于提供者的类(图1)。 使用哪个提供者的信息被保存在应用程序的配置文件(App.Config或Web.Config)中。你几乎不需要直接与特定的提供者进行交互;而是,存在两个静态助理类:Membership和Roles-它们负责从配置文件中读取使用哪个提供者。默认的提供者(即当没有指定提供者时)就是SQL Server。Membership类(列表1)允许你创建和删除用户,检索关于用户的信息并观看口令策略。 列表1: Membership助理类
例如,为了在"MyApp"应用程序中创建一新用户,你仅需如下编码:
Roles类允许你创建和删除用户角色,从角色中添加或删除用户,检索用户的角色会员信息以及验证角色会员。下面是该类的定义:
例如,要把角色"Manager"添加到应用程序"MyApp"上,你可以如下编码:
如果你选择使用Windows或活动目录来存储你的应用程序的用户和角色,那么你需要使用相应于这些存储的工具来管理,例如计算机控制面板小程序或活动目录工具。其实,真正的问题在于如何管理存储在SQL Server中的凭证。为此,你可以使用Visual Studio 2005和一个Web浏览器,甚至不需要安装IIS。在一ASP.NET Web工程中,从"Website"菜单下选择"ASP.NET配置"。这将使得Visual Studio宿主一个Web服务器,打开一可用的端口并且导航到一套管理页面(见图2)。这些管理页面修改该Web应用程序配置文件并且也可以管理凭证存储(当不选择Windows认证时)。当使用Visual Studio 2005时,你首先需要选择认证类型。你可以选择Windows或表单认证(互联网存取)。如果你选择表单认证,你还可以执行下列操作: ·启动或取消基于角色的安全 ·创建和删除角色 ·创建和删除用户 ·检索一用户的细节 ·设置一用户的状态 ·给用户赋于某角色 ·从角色中删除用户
既然SQL Server是ASP.NET 2.0提供的唯一的企业级定制凭证存储,你可以单独使用Visual Studio 2005驱动的管理页面来管理aspnetdb数据库,而不用任何其它存储。 三、内置功能的不足 对于Visual Studio 2005驱动的管理页面存在一些重要缺点:第一,你需要Visual Studio 2005。应用程序或系统超级用户可能没有Visual Studio 2005,更不用说如何使用它了。缺省地,该管理页面使用一斜杠(/)来管理应用程序命名,并且没提供任何修改方法。第二,不可能存在远程存取-应用程序和Visual Studio 2005必须共存,这样Visual Studio 2005才能存取应用程序的配置文件。第三,基于浏览器的用户接口也不很友好-你需要不断点击Back按钮,而且用户接口反映相当迟钝。另外,许多超级用户可能想使用的特征无法经由页面管理来实现,这就脱离了底层提供者类所支持的特性这一事实。这种方式还不能实现的方面有: ·更新大多数用户帐户细节 ·检索、改变、重置一用户的口令 ·检索当前在线用户数目信息 ·能够从一次操作的一个角色中删除全部用户 ·检索关于口令管理策略(例如长度、重置策略、口令类型等)的信息 ·测试用户凭证 ·验证用户角色身份 而且,还有其它的超级用户可能想要的特征也得不到支持。这些特征包括能够检索数据库所有应用程序列表,能够从一应用程序中删除所有的用户,能够从一应用程序中删除所有的角色,能够删除一应用程序(和它的所有相联系的用户和角色),能够删除所有的应用程序。总之,尽管ASP.NET 2.0提供了一个第一流的全面的凭证管理,然而它仅提供了一些原始的管理选项,一般的实际超级用户是不会使用它的。
这一切促使我自己来开发一个定制的客户端凭证管理器应用程序来弥补这些不足。图3显示该程序的一个快照。后面的部分将介绍我是如何设计和构建该凭证管理器的。 |
|||||||
| 【声明】网页天堂刊载此文不代表同意其说法或描述,仅为提供更多信息,也不构成任何投资建议。转载请注明出处。 |
| 我也说两句 |
大黄蜂于2006-11-19 11:51:08写道:good 我的风格于2006-10-21 12:49:00写道:还可以我很喜欢 |
| 发表须知: 一、用户须严格遵守国家法律和政策,包括但不限于《全国人大常委会关于维护互联网安全的决定》、《信息网络传播权保护条例》等规定,审慎、合法地利用伊妃(E-file)平台发表言论、作品。 二、用户的言论、行为若涉嫌违法或侵权,用户可能被强制承担因该行为直接或间接导致的全部法律责任。依照法律法规规定,伊妃(E-file)运营方有义务提供用户资料,有义务和权利采取删除、屏蔽、断开链接等各种必要措施。 三、伊妃(E-file)中心授权网络法律专业研究服务机构“网络法苑”为用户及客户提供包括免费咨询在内的全方位的法律支持。 |




大黄蜂于2006-11-19 11:51:08写道: