声明式限定.NET函数的调用用户

在组织机构的日常工作过程中,人员拥有与其工作需要相关的信息使用权限。支持组织业务的应用程序应反映这种对不同人员(用户)的权限约束。
 
按照信息安全的最小权限原则,用户只应分配完成其工作必须的权限。多余的权限都是系统的安全隐患。
 
.NET支持声明一个函数的安全要求,使得只有特定的用户或者特定角色的用户能够使用这个函数。
 
以使用Windows系统提供的用户和组机制为例,被调用函数的声明方式为:
[PrincipalPermissionAttribute(SecurityAction.Demand, Name = @"DOMAINNAME\username", Role = "Users")]
public static void PrivateFunction()
{
//需要安全保护的代码。
Console.WriteLine("\n\nYou have access to the private data!");
}
 
由于使用的是Windows系统用户管理机制,调用函数之前要使用SetPrincipalPolicy指定使用Windows用户机制。调用PrivateFunction函数的代码如下:
AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal);
……
PrivateFunction();
 
如果调用者(即运行应用程序者)不满足被调用函数的安全约束,将会引发一个安全异常。
 
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章