如何在基类和派生类的PrincipalPermission中应用OR
本文关键字:PrincipalPermission 应用 OR 派生 基类 | 更新日期: 2023-09-27 17:50:00
我有一个基类。
[PrincipalPermission(SecurityAction.Demand, Role = "Admin")]
public class Base
{
}
和派生的
[PrincipalPermission(SecurityAction.Demand, Role = "Developer")]
public class Derived : Base
{
}
我想让用户与"开发人员"的权利来创建派生的对象。但是我不能这样做,因为基类具有admin权限。
Admin应该能够创建所有派生类的对象。所以我想把权限放在admin的基类中
我该如何排序这个问题
这不起作用的原因是Base
类在Derived
类之前创建。由于只有管理员才能调用Base
类,所以您没有办法让Role=Developer
创建基对象。
Admin
,一个可能被限制为Developer
。然后,您必须从Derived
类显式地调用Developer
的c'tor。
然而,我真的不建议这样做。我宁愿引入一个工厂类或方法,并在那里限制创建。