• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

软件测试开发技术.NET框架中基于角色的安全性[2]

发布: 2009-8-14 09:55 | 作者: 不详 | 来源: 领测软件测试网采编 | 查看: 15次 | 进入软件测试论坛讨论

领测软件测试网

软件测试开发技术.NET框架中基于角色的安全性[2] .NET架构

关键字:.NET 框架 安全性

  Principal对象

  Principal对象是实现了IPrincipal接口的类的实例,这些对象用来表示用户,并且包括了用户的身份信息。System.Security.Principal命名空间包括了几种类型的Principal类,这些类中封装了程序代码运行的的安全环境(security context)。我们在后面将会看到对用户名和角色进行检查以确定根据用户身份和角色资格是否可以让用户执行某些特定操作的示例代码。

  对于每一个线程来说都与一个principal对象相关联。这个principal对象包括了表示运行当前线程的用户的identity对象。我们可以利用Thread类的静态属性CurrentPrincipal来获得这个principal对象。

  下面我们来看看IPrincipal接口,该接口只有一个Identity公共属性和IsInRole公共方法:

  1、Identity属性指向一个与principal 对象关联的IIdentity对象。

  2、IsInRole方法需要一个字符串参数,该字符串是一个角色的名称,并且返回布尔值,指出principal对象是否属于指定的角色。

  由于实际开发的需要,我们更多接触到的是WindowsPrincipal类,下面将详细讨论WindowsPrincipal类,相对而言,GenericPrincipal类就要简略一些了。

  GenericPrincipal类

  GenericPrincipal类用来表示一个通过自定义验证的用户,通常与GenericIdentity类一起使用。下面是一段简单的程序,说明了这两个类如何使用:

  //创建一个GenericIdentity对象 IIdentity myGenericIdentity = new GenericIdentity(strUserName,

  "MyAuthenticationType");

  //创建一个GenericPrincipal对象

  String[] roles = null;

  GenericPrincipal myGenericPrincipal = new GenericPrincipal(myGenericIdentity, roles);

  //将创建的GenericPrincipal对象附加到当前线程上

  Thread.CurrentPrincipal = myGenericPrincipal;

  注意在上面的例子中,我们可以把MyAuthenticationType的验证类型换成熟知的Kerberos身份验证或者NTLM身份验证。

  

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

TAG: net NET Net 技术 角色 框架 软件测试

41/41234>

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网