文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院网络技术防范措施打造坚固的企业应用.NET 安全基础
精品推荐
特别推荐
·分布式拒绝服务攻击(DDoS)原理及防范
·通过防火墙来堵住VPN安全漏洞
·针对DDOS部署有效防御措施
·专家谈企业防火墙的安全防护配置
·防火墙的实际功能差异鉴别方法
·教你如何正确设置帐户锁定选项
·分析称主动防御安全技术尚存技术缺陷
·保护用户计算机远离黑客骚扰九大策略
·三层交换机安全策略预防病毒
·详解IP地址盗用常用方法及防范
热点TOP10
·无线攻防:破解WEP密钥过程全解
·防火墙再进一步设定就更好用了!
·Tpvo/3783 病毒的分析和防治
·网络安全专家支招防范黑客攻击九大方法
·防火墙技术详解及技术发展趋势
·如何运用包过滤技术实现个人防火墙
·不用防火墙手动对付SYN攻击的办法
·如何限制访问来防止内部黑客
·防止 QQ 密码被破解的方法
·防火墙的实际功能差异鉴别方法

打造坚固的企业应用.NET 安全基础

日期:2008年2月27日 作者: 查看:[大字体 中字体 小字体]


  .NET Framework 基于角色的安全性是在应用程序中用来授权用户操作的关键技术。角色经常用来强制执行一些业务规则。例如,财务应用程序可能只允许经理执行超过某个特定金额上限的转账操作。
  
  基于角色的安全性由以下要素组成:
  
  用户和标识
  
  PrincipalPermission 对象
  
  基于角色的安全性检查
  
  URL授权
  
  用户和标识
  基于角色的安全性是通过 Principal 和 Identity 对象实现的。已进行身份验证的调用方的标识和角色成员身份是通过 Principal 对象公开的,该对象附加在当前 Web 请求中。可以使用 HttpContext.Current.User 属性检索该对象。如果应用程序不需要对调用方进行身份验证,例如,用户正在浏览站点中可以公开访问的部分,则 Principal 对象代表的是匿名 Internet 用户。
  
  Principal 对象有很多类型,准确的类型取决于应用程序所使用的身份验证机制。但是,所有 Principal 对象都要实现 System.Security.Principal.IPrincipal 接口,它们都维持着一个角色列表,用户是其中的一个成员。
  
  Principal 对象还包含 Identity 对象,后者包括用户名以及指示身份验证类型和用户是否已经进行身份验证的标志。这样就能够区分已进行身份验证和匿名的用户。Identity 对象也有许多不同类型,取决于身份验证的类型,虽然所有标识对象都要实现 System.Security.Principal.IIdentity 接口。
  
  以下表格给出了可能的身份验证类型以及 ASP.NET Web 应用程序使用的 Principal 和 Identity 对象的各种不同类型。
  
 打造坚固的企业应用.NET 安全基础(图三)

  PrincipalPermission 对象
  PrincipalPermission 对象表示当前用户执行代码所必需的标识和角色。PrincipalPermission 对象可以在代码中声明性或命令性地使用。
  
  声明性安全
  可以通过在类或者方法定义中添加 PrincipalPermissionAttribute,准确地控制允许哪些用户访问这些类或者方法。类级别的属性自动应用于所有类成员,除非它已被成员级属性所重写。PrincipalPermissionAttribute 类型是在 System.Security.Permissions 命名空间中定义的。
  
  注 还可以使用 PrincipalPermissionAttribute 限制对结构和其他成员类型(如属性和委托)的访问。
  
  下面的示例说明了如何将对某个特定的类的访问权限制在 Managers 组的成员中。请注意该示例假设使用 Windows 身份验证,其中角色名的格式是 MachineName\RoleName 或者 DomainName\RoleName。对于其他的身份验证类型,角色名的格式是特定于应用程序的,并取决于用户存储中保存的角色名字符串。
  
   [PrincipalPermissionAttribute(SecurityAction.Demand, Role=@"DOMAINNAME\Managers")]
  public sealed class OnlyManagersCanCallMe
  {
  }
  
  注 属性类型名中最后的 Attribute 可以省略。这样属性类型名就与其相关的权限类型名相同了,在此例中为 PrincipalPermission。它们是截然不同的(但逻辑上是相关的)类型。
  
  下面的示例说明了如何限制对一个类的特定方法的访问。在此示例中,访问仅限于本地管理员组的成员,这是通过特殊的 "BUILTIN\Administrators" 标识符来标识的。
  
   [PrincipalPermissionAttribute(SecurityAction.Demand,
               Role=@"BUILTIN\Administrators")]
  public void SomeMethod()
  {
  }
  
  其他内置的 Windows 组名可以通过在组名前加上"BUILTIN\"(例如,"BUILTIN\Users" 和 "BUILTIN\Power Users" )使用。
  
  命令性安全
  如果方法级安全性对于您的安全需求来说还不够细致,可以在代码中执行命令性安全检查,方法是使用 System.Security.Permissions.PrincipalPermission 对象。
  
  以下示例说明了使用 PrincipalPermission 对象的命令性安全语法。
  
  PrincipalPermission permCheck = new PrincipalPermission(
                  null, @"DomainName\WindowsGroup");
  permCheck.Demand();
  

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




上一篇:VB.NET创建对方法类型安全引用入门

下一篇:防止非法用户入侵系统七招

相关文章:
·Flash AS基础精典教程
·微软.NET战略延深 蓄谋打造下一代网络门户
·从零开始 无线网络终极应用宝典
·基础知识 初级黑客安全技术命令详解
·网友倾情打造:XP
·注册表应用100例—注册表使用全攻略之十一
·打造极速XP系统之绝对秘籍
·如何以安全模式启动计算机
·WindowsXP应用技巧的具体总结
·Excel2000工作薄安全攻略
相关软件:
·SQL Server 2000 基础系列课程视频
·自己动手建立企业网站
·2007网络安全黄皮书V1.0.0
·如何加固Windows XP 主机安全
·企业标准化管理制度大全
·鸟哥的linux私房菜:基础学习篇
·注册表实例应用视频教程swf
·Excel应用宝典
·公司企业网站管理系统模板功能强大版
·AUTOCAD 2002机械设计应用与实例

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.viphot.com
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.viphot.com All Rights Reserved. 鄂ICP备05000083号Powered by:viphot