首 页文章中心下载中心繁體中文
设为首页
加入收藏
联系我们
您当前的位置:开源盛世-源代码下载网 -> 文章中心 -> 网站开发类 -> NET 技术 -> .NET基础 -> 文章内容 退出登录 用户管理
栏目导航
· .NET基础 · Asp.Net
· 综合应用 · 数据库应用
· XML 应用 · 控件开发和使用
热门文章
· Tab Control控件使用...
· 学生档案管理系统
· [图文] 排列组合公式
· UTF-8与GB2312之间的...
· DirectShow下载安装...
· Virtual PC 在PAE模...
· Windows2000终端服务...
· MapInfo上的GIS系统...
· Mapbasic参考手册索...
· MapX应用开发中文讲...
相关文章
基于角色的安全性(一)
作者:佚名  来源:vscodes.com整理  发布时间:2005-12-16 13:06:09  发布人:Polaris

减小字体 增大字体


基于角色的安全性(一)

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 Main()

              '将用户的角色和标识跟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

 

 


End of《基于角色的安全性(一)》

[] [返回上一页] [打 印] [收 藏]
 
∷相关“基于角色的安全性(一)”文章评论∷
(评论内容只代表网友观点,与本站立场无关!) [更多评论...]
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 网站目录 鄂ICP备06007162
开源盛世 版权所有Copyright © 2003-2005 VSCodes.Com. All Rights Reserved.