声明式限定.NET函数的调用用户
原创
©著作权归作者所有:来自51CTO博客作者esafe的原创作品,请联系作者获取转载授权,否则将追究法律责任
在组织机构的日常工作过程中,人员拥有与其工作需要相关的信息使用权限。支持组织业务的应用程序应反映这种对不同人员(用户)的权限约束。
按照信息安全的最小权限原则,用户只应分配完成其工作必须的权限。多余的权限都是系统的安全隐患。
.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();
如果调用者(即运行应用程序者)不满足被调用函数的安全约束,将会引发一个安全异常。
上一篇:浅谈算法,密钥与证书
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
[代码]如何以内联方式调用用户定义的函数(LINQ to SQL)
<br />此代码主要示范如何以内联方式调用用户定义的函数。<br />在SQL Server中用户自定
linq sql sql server function build