最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
.NET框架中基于角色的安全性(2)
时间:2022-07-02 10:53:18 编辑:袖梨 来源:一聚教程网
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类一起使用。下面是一段简单的程序,说明了这两个类如何使用:
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类一起使用。下面是一段简单的程序,说明了这两个类如何使用:
相关文章
- 王者荣耀星之破晓先遣测试停服 12-04
- 光遇12.4大蜡烛在哪里 光遇12月4日大蜡烛位置攻略 12-04
- 无限暖暖公测兑换码有哪些 无限暖暖公测版本兑换码介绍 12-04
- 绝区零当三明治来敲门怎么玩 绝区零当三明治来敲门活动介绍 12-04
- 奇迹暖暖绮彩木马搭配攻略 奇迹暖暖绮彩木马过关攻略 12-04
- 光遇12.4每日任务怎么做 光遇12月4日每日任务做法攻略 12-04