【发布时间】:2011-05-06 21:42:36
【问题描述】:
我对所有具有 PrincipalPermission 属性的业务对象都有一个 Delete 方法。
例子:
[PrincipalPermission(SecurityAction.Demand, Role = "Vendor Manager")]
public static bool Delete(Vendor myVendor)
{
//do work here
}
问题是它似乎完全忽略了我的 PrincipalPermission。它允许任何人通过,无论他们可能担任什么角色。
还有什么我忘记做的吗?我在应用程序启动部分的应用程序的 global.asax 中添加了以下内容:
AppDomain.CurrentDomain.SetPrincipalPolicy(System.Security.Principal.PrincipalPolicy.WindowsPrincipal);
但这也没什么区别。
我也尝试了以下方法:
public static bool Delete(Vendor myVendor)
{
PrincipalPermission iPerm = new PrincipalPermission(null, "Vendor Manager");
iPerm.Demand();
//do work here
}
你不知道吗,这很好用!....关于为什么它以一种方式工作而不是另一种方式的任何想法?
【问题讨论】:
标签: c# security permissions iprincipal