Welcome

首页 / 软件开发 / .NET编程技术 / 基于角色的安全性编程入门示例

基于角色的安全性编程入门示例2014-06-26为了能更好地理解.NET基于角色的安全性,从一个最简单的实例导入角色的应用。首先创建一个简单的控制台程序,如代码清单1-1所示。

代码清单1-1  未添加角色验证的程序

using System;namespace角色实例{classProgram{static void Main(string[] args){OutHello();Console.Read();}staticvoid OutHello(){Console.WriteLine("hello world!");}}}
如代码清单1-1,这个程序只有两个方法:Main方法和OutHello方法,OutHello方法输出“hello world!”,在Main方法中调用OutHello方法。运行程序会打印字符串“hello world!”。下面对这个简单的程序做略微的修改,为它添加一些声明,如代码清单1-2所示。

代码清单1-2  运行主体和主体权限要求的主体不一致的代码

using System;using System.Security.Permissions;using System.Security.Principal;using System.Threading;namespace 角色实例{class Program{static void Main(string[] args){Thread.CurrentPrincipal = new WindowsPrincipal(WindowsIdentity.GetAnonymous()); try{OutHello();}catch(SecurityException e){Console.WriteLine(e.Message);}Console.Read();}[PrincipalPermission(SecurityAction.Demand,Role="Administrators")]static void OutHello(){Console.WriteLine("hello world!");}}}