我的DeleteAll
基類中有一個需要呼叫特定角色(“Remover”)的方法。我有一個派生自基類的第二個類。在派生類中,我想重寫該DeleteAll
方法,以便我可以要求該方法具有不同的角色(“操作員”)。
public BaseClass
{
[PrincipalPermission(SecurityAction.Demand, Authenticated = true, Role = "Remover")]
public virtual void DeleteAll(IEnumerable<Guid> ids)
{
//Code to delete each id
}
}
public DerivedClass : BaseClass
{
[PrincipalPermission(SecurityAction.Demand, Authenticated = true, Role = "Operator")]
public virtual void DeleteAll(IEnumerable<Guid> ids)
{
base.DeleteAll(ids);
}
}
如果我呼叫DerivedClass
'sDeleteAll
方法,它將要求用戶同時具有“操作員”和“移除者”角色。我只希望需要“操作員”角色。
重寫方法時有沒有辦法重寫 PrincipalPermission?
uj5u.com熱心網友回復:
我認為問題在于您使用的是baseclass
in derivedclass
,因此DeleteAll
導致的方法DerivedClass
需要同時具有“操作員”和“洗掉者”角色。
您可以嘗試使用 OR 組合多個 PrincipalPermissionAttribute 要求。
有關詳細資訊,請參閱下面的鏈接。
如果應用于類,則方法上的 PrincipalPermission 不起作用
如何在基類和派生類的 PrincipalPermission 中應用 OR
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/470431.html
上一篇:傳遞給泛型時合并兩個介面的鍵