.NET应用程序的授权模型使系统更易管理

ZDNet软件频道 时间:2003-06-10 作者:周靖 译 |  我要评论()
本文关键词:
正确设计的授权机制使系统更易部署和管理。基于Active Directory等企业身份验证机制来授权,你的应用程序就能与公司现有的安全策略无缝地集成。
本文译自Builder.com,未经许可请勿转载正确设计的授权机制使系统更易部署和管理。基于Active Directory等企业身份验证机制来授权,你的应用程序就能与公司现有的安全策略无缝地集成。在n层应用程序中,每一层都可使用授权,从而创建出更灵活的系统。

在表示层,你可基于授权用户的“角色”来自定义用户界面(例如,为管理阶级的用户显示管理菜单,但在普通用户面前隐藏此菜单)。在业务层,可考虑在代码主体中验证授权,这就使黑客或其他非法用户不易在未经正确授权的情况下使用一个代码小节。在数据层,通过在检索或插入数据之前请求授权,可确保只有合法用户才能更改数据。

授权类型

.NET系统主要运行3种授权类型:Windows授权、代码访问安全性(Code Access Security,CAS)授权或者应用程序专用授权。综合运用这些授权机制,就能创建一个非常安全的系统。下面让我们详细讨论它们。

Windows授权

利用访问控制列表(Access Control Lists,ACL)来设置权限,系统管理员可控制哪些用户有权访问特定的系统资源。通常要由运行应用程序的那个系统的管理员来控制这些设置。由于生产环境和测试/认证环境中的管理员通常是不同的人,所以必须正确文档化特定的授权设置,确保应用程序最终能正确运行。这些设置包括:

  • Active Directory权限
  • NTFS管理的文件权限
  • Web Config设置,它为基于ASP.NET的应用程序限制对特定URL的访问
  • 服务器产品的特有权限,产品包括Microsoft SQL Server(例如表、视图或存储过程)或者Microsoft Exchange(例如邮箱、公共文件夹等)
CAS授权

Windows授权限制对单个对象的访问。相反,CAS授权允许应用程序根据一系列批准的权限(名为权限集)来执行。这些权限集是基于“凭证”(evidence)而建立的,包括代码的来源、它的出版商及其“强名称”。必须注意到,CAS授权独立于其他任何授权机制运行,这样可有效保护系统资源,无论用户被验证成什么身份。

例如,假定一个权限集禁止来自因特网的代码删除用户机器上的文件,那么这个限制将永远有效,无论用户的身份被验证成“系统管理员”,还是验证成“来宾”。可用Caspol.exe命令行实用程序来配置CAS授权,或使用Microsoft .NET Framework Configuration控制台来配置(后者通过控制面板的“管理工具”来访问)。


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134