0
"契約"と "実装"を分けようとしています。セキュリティ機能は「契約」でもあります(これらの機能の正確さの実装方法の一部は別です)。抽象クラスを作成して子孫メソッドを代行する方法
public abstract class SomeServiceContract
{
[Authorize]
public abstract void SomeMethod();
}
public class SomeServiceImpl : SomeServiceContract
{
public override void SomeMethod()
{
// this can just be implemented, no need to worry about access rigts
}
}
(継承されている)承認属性の唯一の目的は、インターセプタでチェックされる。
は、だから私はこのような何かを書くことをしようとしています。しかし、「インターセプト可能」であるためには、メソッドは仮想でなければならず、例えばNinjectでラップすることもできません。そして、私は仮想化するためのオーバーライドされたメソッドを作ることはできません。他にどのように実装できますか?
ダイナミックプロキシの傍受に適した属性継承と「ラップ可能」メソッドの両方を取得できます。 – yaapelsinko
はい、それは本当です –