使用更精简的代码保证 ASP.NET 应用程序的安全

使用更精简的代码保证 ASP.NET 应用程序的安全 
Michele Leroux Bustamante 
IDesign:.NET Design and Business Solutions

2003 年 10 月

适用于: 
Microsoft® ASP.NET Whidbey

摘要:学习 ASP.NET Whidbey 及其新的配置工具、控件和组件如何支持用于验证用户和管理受保护资源的完整系统。

下载 ASPNETWhidbeySecuritySample.msi。(请注意,在示例文件中,程序员的注释使用的是英文,本文中将其译为中文是为了便于读者理解。)

目录 
直观易用的功能 
配置界面 
拖放安全控件 
按角色过滤内容 
成员身份和角色提供程序 
但是,这个程序是可扩展的吗? 
小结

注意:相应的软件产品正式发行之前,本文档已经撰写完毕,所以我们不能保证本文档内涉及的细节与最终产品完全一致。文中信息描述的是本文档发布之时的产品,仅供在规划时参考之用。如有更改,恕不另行通知。 
我编译了许多 Microsoft® ASP.NET 应用程序,例如客户端应用程序和原型、我自己不断增长的站点和帮助不会编程的家人和朋友所开发的站点,以及文章、演示文稿和培训课程的代码。我经常发现自己在编译每个应用程序时,总有某些重复的任务要做,这其中很大一部分是定义验证模型。保护应用程序资源几乎是设计任何应用程序时必不可少的一项工作。ASP.NET 1.x 让事情变得简单了些,它提供了一个颇为简单和安全的、基于表单的验证进程,但您仍要纠缠于角色管理和其他工作之中。如果每设计一个新登录表单可以挣 5 美分,那么我现在至少已经挣了 10 多美元,算一算,我设计了多少个表单。即将发行的新版本 ASP.NET 的开发代号是“Whidbey”(与即将发行的新版本 Microsoft® Visual Studio® .NET 的开发代号一致),它提供了许多新的配置工具、控件和组件,以支持用于验证用户和管理受保护资源的完整系统。这些新功能十分直观易用,即使您的祖母也能在一天内构建一个安全站点。

直观易用的功能 
按照传统做法,为新 Web 站点构建一个验证模型通常包括以下步骤:

收集受保护资源和活动的要求,并定义适当的角色和权限。 
设计关系数据库表,以存储用户、角色及相关权限。 
设计登录页面。 
编写代码,以验证用户并收集关联的角色和权限。 
添加配置,以基于角色来保护 Web 资源。 
编写代码,以基于角色和权限来控制页面内容。 
即使只是构建几个可重复使用的组件来封装上述某些重复性任务,您仍会感到肩上的工作负担减轻了不少。ASP.NET Whidbey 的新组件大大减少了上述步骤中的五个步骤的工作量,至少将其减少为了原来工作量的一部分。我将使用新的基于 Web 的管理向导来自动创建一组表,以处理用户、角色和权限。在同一个管理界面中,我还会就登录、成员身份和角色管理对应用程序进行配置。我将在一秒钟(或者说仅仅是在 Web 表单中拖放一个登录控件的时间)之内设计出一个登录页面,而且我根本不用编写一行用于验证用户或关联角色的代码,因为这些会自动完成。根据用户角色和登录状态的不同,呈现的菜单和页面内容也将不同,但我同样无需为此编写任何代码。

是不是有梦想成真的感觉?让我们看看这是如何实现的。

配置界面 
ASP.NET Whidbey 包括一个新的基于 Web 的配置工具,它运行于特定应用程序的上下文中,这样便可以通过交互的方式来修改应用程序自身的 web.config 文件。该工具带有许多向导,其中一个可以引导您完成设置安全选项的全部步骤。使用 Visual Studio“Whidbey”完成新 Web 站点的创建后,您可以通过两种方法启动该配置工具:从“Solution Explorer”(解决方案资源浏览器)中选择“ASP.NET Configuration”(ASP.NET 配置)图标或从“Website”(站点)菜单中选择“ASP.NET Configuration”(ASP.NET 配置)。

图 1:从“Solution Explorer”(解决方案资源浏览器)或主菜单启动基于 Web 的配置实用工具。

配置 Web 界面启动时会显示一个查询字符串,指示要配置的应用程序目标。在本文中,我创建了一个名为“MySecureNewsletter”的新应用程序,并启动了管理界面,如下所示:

图 2:在我的计算机上启动管理界面的 URL 是 http://localhost:10245/ASP.NETWebAdminFiles/default.aspx?applicationPhysicalPath=H:\WebSites\MySecureNewsletter\&applicationUrl=/MySecureNewsletter。

“Security”(安全)选项卡中的一个选项是运行“Security Setup Wizard”(安全设置向导)。对于一个新应用程序,应当首先运行该向导。向导界面的左侧面板显示了将要逐步执行的步骤列表,并指出您当前所在的步骤:

图 3:安全设置向导使用 ASP.NET Whidbey 的某些其他很酷的功能,例如用于导航的向导控件。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值