Authorize-Attributeの結果をビューに引き渡す可能性はありますか?ASP.Net MVC認証 - ロールに基づいてビューの要素を隠す
ユーザーのメンバーシップに基づいてインデックスビューで5つのリンクを非表示にしたいとします。
[Authorize(Roles = "Admin")]
public ActionResult Index(){
....
}
上記のコードは、Admin-Groupに属していないすべてのユーザーがインデックスページにアクセスできないようにします。
このコードは、ユーザーが管理者ロールの一部でない場合はリンクを非表示にします。これは基本的に私が望むものですが、このメソッドを使用すると、ロールが変更されるとすべての隠しリンクでロール名を変更する必要があります。
両方の組み合わせのようなものはありませんか? (スキーマ参照)
[Authorize(Roles = "Admin")] //This will pass true to the View if the User is a member of the group "Admin"
public ActionResult Index(){
....
}
@{
if(User.IsAuthenticated){ //This will read the "Token" and if it's true the if statement will get executed.
<a href="#">Some link to be hidden</a>
}
}
したがって、ユーザーがロール "管理者"の場合、リンクが表示されます。これは可能ですか?
したがって、ビュー内のifステートメントとAttributeを接続する可能性はありませんか? – C4p741nZ
ユーザーが "Admin" _ "グループのメンバーである場合、ビューに" true "を渡したいとします。これはまさにビューモデルが行うことで、ビューに戻るためにデータを渡します。 – trashr0x
申し訳ありませんが、その質問は100%明確なものではありませんでした。質問は、ビューで権限ベースの属性をロールベースのリンクに関連付けることでした。確かにVMのアプローチはそれほど悪くはありませんが、ちょうど "ちょっとあなたの行動"と言うことは可能ですが、誰もがあなたにアクセスできますが、一部のコンテンツは "Authorize" - アトリビューション(または類似のもの)で述べた役割に限定する必要があります – C4p741nZ