1

私は MVC を初めて使用するので、アプリケーションでアクション ベースのアクセス許可を最適に処理する方法について提案を受けたいと考えています。

現在、現在のユーザーがアクセスできるビューのレンダリングなどで正常に機能する、コントローラーレベルでチェックされているいくつかのグローバル権限があります。

ただし、ビューがレンダリングされたら、「ユーザーが現在選択されているアイテムの削除権限を持っている場合にのみ、削除ボタンを有効にする」などの決定を下したいと思います。その時点で、これらの権限はグローバルではなく、オブジェクトが選択されました。

この種のシナリオを処理するには、コードをどのように記述すればよいですか?

4

1 に答える 1

2

デフォルトでは、ビューはユーザー オブジェクトにアクセスできます。

User.IsInRole("myDeleteRole") の場合、ビューで確認できます。

また

@if(User.IsInRole("MyDeleteRole"))
{
<input type="subtmt" value="Delete">
}

これが最善の方法かどうかはわかりませんが、過去に行ったことです

別の方法は、ユーザーが持っている権限に応じて個別のビューを作成することだと思います。そうすれば、コントローラーでロジックを実行し、ユーザーを指定されたビューに送ることができます

if(User.IsInRole("MyDeleteRole")
{
return View("MyDeleteView", vm)
}
else
{
return View("NoDeleteView", vm)
}
于 2012-05-17T19:17:45.827 に答える