您的位置:软件 > 开发者网络 > 微软开发专栏 > 技术专题 > 正文
.NET框架中基于角色的安全性
[文章信息]
作者:sPhinX
时间:2004-04-21
出处:yesky
责任编辑:方舟
[文章导读]
传统的安全模型将安全性建立在用户以及用户组的机制上来提供隔离和访问控制
advertisement
热点推荐
· IE最新安全漏洞补救几大措施
· M牛的网络生活之下载篇
· Norton Ghost 9.0全新体验
· InstallShield简明使用教程之前言
· Linux系统的硬件驱动程序编写原理
[正文]

1 2 3 4  下一页

天极IT资讯短信服务 电脑小技巧
资费:包月5元
手机:
介绍:细处着手,巧处用功。高手和菜鸟之间的差别就是:高手什么都知道,菜鸟知道一些。电脑小技巧收集最新奇招高招,让你轻松踏上高手之路。

  概述

  在过去的相当长一段时间内,计算机及信息犯罪的比例正在逐渐升高。美国联邦调查局的计算机安全组织在2001年的研究调查中发现85%企业的企业安全受到侵害。在对这些企业进行调查之后提出的财物损失报告中指出,合计损失为3亿7千7百万美元,比起2000年的2亿6千5百万美金增加了42%。由此可清楚的看出,计算机及信息犯罪的发生次数越来越频繁,其所造成的损失也越来越大,另外,犯罪的手段也越来越丰富,令企业安全人员防不胜防。因此企业必须有所行动来保护有价值的信息资产。自然而然的,安全性在现在的程序开发中越来越成为一个不可忽视的问题。

  传统的安全模型将安全性建立在用户以及用户组的机制上来提供隔离和访问控制。这就意味着用户要么可以运行全部代码,要么都不能运行。而这正是现在大多数操作系统采取的安全模型,即使现在看来这种机制也是很有效的,但是深入思考之后我们可以发现这种机制存在的假设是所有的代码都具有相同的信任程度。当所有的代码都是来自你或者你的系统管理员,那么这种假设是行之有效的。但是现在大多数计算机都连上了Internet之后,这种"都行"或者"都不行"的方式就不那么好了。.NET框架提供了全面的安全系统,足以应付现在已有的大多数安全性问题。在.NET框架中提供了与传统模型相似的,但却是由开发人员自定义的安全模型,称为基于角色的安全性(Role-Based Security)。基于角色的安全性最重要的概念就是授权(Principals)和标识(Identity)。

  基于角色的安全性

  简单的说,程序安全性的目的就是防止不怀好意的人或者程序不能做管理员和开发人员不允许做的事情。在前面提到的传统的安全机制着眼于控制用户的权限,通过验证用户的身份标识来限制用户的操作,从而可以控制特定的用户对资源的访问,在过去很长的一段时间里,Windows和UNIX这两个最成功的操作系统都采取了这种安全机制。在讨论.NET的安全编程之前,我们将先来看看.NET平台提供的安全模型,只有深入理解安全模型,我们才能更加有效的利用平台给我们提供的更好的安全性保证(以下讨论的操作系统以Windows 2000及Windows XP为主)。

  .NET的安全模型在系统的安全模型的上层,并且与一些服务器程序的安全特性结合的很好(当然,目前这些产品还仅限于微软自己的产品,比如SQL Server和Internet Information Services (IIS))。正因为.NET与操作系统的层次不同,所以.NET程序的安全性就取决于这样几个因素:.NET安全性是如何配置的,程序组件是怎样编写的,以及一些由Windows,网络设置或者其他程序设定的安全特性。

  下面这幅图说明了.NET安全模型是如何在Windows的安全子系统上工作的。管理员使用管理控制台snap-ins设置用户帐号并制定安全策略。同时,管理员也负责管理.NET安全配置。当用户登陆操作系统并运行.NET托管程序,CLR将验证用户并允许程序进行某些动作,接着将这些操作传递给操作系统的安全监视程序。



  不过有一个需要特别注意的问题,就是无论你怎样使用.NET的安全,资源仍然是处于操作系统级的保护之下。对于受特殊保护的资源,.NET平台的安全权限是无能为力的(其实这一点也正好符合.NET与操作系统的层次关系)。

  下面我们就来详细的看看基于角色的安全性中的几个概念,以及这几个概念在.NET中是如何运用的。
验证(authentication)指的是确定用户身份的过程,而授权(authorization)指的是经过上面的过程之后给予用户访问特定资源的权限,说明白一点,验证就是知道"你是谁",而授权则是"让你可以做什么"。.NET为实现这两个过程提供了Principal和Identity对象,其中,基于角色的安全性基础建立在Principal对象之上,该对象封装了当前用户的信息,既包含用户身份,也包含他所扮演的角色;用户身份用Identity对象来指明,Identity对象中不仅包含指定的用户身份信息(用户名称或账号),还包括了"如何验证这一身份"的方法。


1 2 3 4  下一页

·"WAP天极之IT新闻资讯,50万元等你拿"    ·天极WAP之游戏狂图,50万元等你下载

天极社区邀请您:写博客日记  上传相片   论坛聊天  订阅电子杂志  推荐网摘   免费图铃工具
笔名:   请您注意:

 遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。

 天极网拥有管理笔名和留言的一切权利。
评论:
 

发表评论推荐给朋友我想参加相关培训打印我对此感兴趣订阅电子杂志
相关内容阅读排行榜
  • 基于.NET的多用户客户端设计
  • ADO.NET实用技巧两则
  • DataSet的数据并发异常处理
  • 使用ADO.NET设计数据库应用程序
  • 从 .NET 程序集提供图像
  • 详解11月三大硬件杀手游戏及四大凶器
  • 选硬盘 用好希捷互动存储专家
  • NDS十大最受期待游戏
  • 中国星际个人联赛第6轮综述
  • 教你破解GeForce6800变Ultra
  • 魔兽UD必胜的几大原因
  • 韩国OnGameNet职业联赛最新战况
  • 买LCD有秘诀 两绝招识别坏点
  • Advertisement

    天极无线
    待机彩图    >>更多
    多彩动画    >>更多
    美妙和弦    >>更多
    天使在唱歌
    壁虎漫步
    PrettyBoy
    LoveLoveLove
    我是你的小小狗
    单身情歌
    十面埋伏
    祝酒歌
    回心转意
    波斯猫
    太委屈
    S.H.E
    潘玮柏
    M2M
    蔡依林
    阿牛
    林志炫
    陈弈迅
    刀郎
    黑龙
    S.H.E
    陶晶莹
    情人玫瑰坊
    音乐风云
    新片速递
    神秘测试
    都市约会
    ·天极彩信天天精彩
    ·图铃梦工厂下载无限!
    ·找寻童真,卡通专题
    ·夏日激情交友社区!
    ·星座运程,预测人生

    CSEEK搜索