基于角色的安全性(一)
来源:互联网 发布:mac序列号在哪里 编辑:程序博客网 时间:2024/06/11 23:11
基于角色的安全性(一)
Montaque
在财务或商务应用程序中经常使用角色来强制策略。例如,应用程序可能根据提出请求的用户是否是指定角色的成员,对正在处理的事务的大小加以限制。职员有权处理的事务可能小于指定的阈值,主管拥有的权限可能比职员的高,而副总裁的权限可能还更高(或根本不受限制)。当应用程序需要多个批准完成某项操作时,也可以使用基于角色的安全性。例如一个采购系统,在该系统中,任何雇员均可生成采购请求,但只有采购代理人可以将此请求转换成可发送给供应商的采购订单。(MSDN原话)
有时候,我们需要判断执行当前Sub的用户要求有一定的权限,最基本的比如说必须是Windows中的管理员级别的帐户,这时候我们就要判断执行当前线程用户的角色问题。我们知道多个应用程序域可以在一个进程中运行;但是,在应用程序域和线程之间没有一对一的关联。多个线程可以属于一个应用程序域,尽管给定的线程并不局限于一个应用程序域,但在任何给定时间,线程都在一个应用程序域中执行。
于是我们就要从线程入手,我执行当前线程的用户信息加到执行环境中,在.NET中有一个类,AppDomain。下面给出一个简单的例子:
Imports System Imports System.Threading Imports System.Security Imports System.Security.Permissions Imports System.Security.Principal Module OnlyAdmin Sub '将用户的角色和标识跟windows关联起来。 AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal) Dim user As WindowsPrincipal = CType(Thread.CurrentPrincipal, WindowsPrincipal) Console.WriteLine("Hello {0}", user.Identity.Name) If user.IsInRole(WindowsBuiltInRole.Administrator) Then Console.WriteLine("You can execute this program") Else Console.WriteLine("Sorry you cannot execute this program") End If End Sub End Module VB.NET版本 |
参考:ms-help://MS.VSCC/MS.MSDNVS.2052/cpref/html/frlrfsystemappdomainclasstopic.htm |
- 基于角色的安全性(一)
- 基于角色的安全性介绍
- .NET框架中基于角色的安全性
- .NET框架中基于角色的安全性
- .NET框架中基于角色的安全性
- asp.net基于角色的安全性
- .NET框架中基于角色的安全性
- .NET框架中基于角色的安全性
- 基于角色的权限设计(一)
- 基于角色的权限设计(一)
- 基于角色的权限设计(一)
- 使用 Web Services Enhancements 2.0 的基于角色的安全性
- 一种基于角色的安全性的数据表设计
- 使用 Web Services Enhancements 2.0 的基于角色的安全性
- Survey Admin 示例:实现 Microsoft .NET 基于角色的安全性
- 如何将基于角色的安全性用于企业服务
- .net基于角色安全性验证的几个概念
- .NET安全揭秘--第5章 基于角色的安全性
- VB6升级到VB.NET(1) App的变化
- 在.NET中轻松获取系统信息(1) -WMI篇
- VB .NET vs. C#
- VB.NET制作外接程序的一个示例
- Top 10 Reasons to Upgrade to Visual Basic .NET
- 基于角色的安全性(一)
- 在VB.NET中实现文件的拖放
- Type-Safety in .NET Security
- VB.NET 中调用浏览目录对话框
- 利用 WMI 修改计算机的网络设置
- VC中用Ado接口代码连接和使用与数据库
- 菜单枚举记
- 如何成为一位黑客 ( How To Become A Hacker )
- Visual C++ 入门捷径 (源程序) 2001年5月31日