コントローラの属性を使用してい[Authorize (Roles="yadda, yadda2")]
ますが、ビューからアクセスできるかどうかを検出するための組み込みのメカニズムがあるかどうか疑問に思っていますか?
[Authorize (Roles="System Administrator, Administrator")]
public abstract class OperationsBaseContoller : BaseController
{
// omitted
}
// some view
@if(HasAccessTo<OperationsBaseController>())
{
<a href="#somewhereInOperations">Operations Action</a>
<a href="#anotherInOps">Example</a>
<a href="#oneMore">filler</a>
}
上記のようなものは、とにかくそれらに配信できないリンクをレンダリングすることを避けることができるように素晴らしいでしょう。ただし、これはメンテナンス/重複コードの悪夢のように思われるため、ビューに使用可能な役割のリストを再度表示したくありません。User.IsInRole("....")
彼らが私たちに属性を与えた場合、彼らはビューからそれをチェックするための組み込みの方法も与えたと私は考えました。
そうでない場合(自分で見つけることができなかった場合)、私は自分で書きますが、潜在的なホイールの再発明を避けたかったのです。