2

asp.net 4 webforms プロジェクトがあります。アプリで既存のユーザーを管理するためのフォームがありますが、アプリケーション内の役割 (管理者、ユーザーなど) に応じて、一部のユーザーに対して一部のオプションがグレー表示または非表示になる場合があります。たとえば、管理者はドロップダウン リストからユーザーの役割を変更できますが、通常のユーザーにはドロップダウン リストがグレー表示 (または非表示) されます。

もちろん、ポストバックでは、「管理者未満のユーザーがプロパティ X を変更した場合、その変更の保存を無視する」などのすべての条件をチェックする大きな関数を使用できます。1 つのフォームに対して、これらのチェックのいくつかのリストが存在する場合があります。

しかし、asp.net でこの種のことを処理するためのより良い方法はありますか?

4

1 に答える 1

0

PrincipalPermissions を使用して、特定のロール以外によるメソッドの実行を制限できます

Import System.Security.Permissions

メソッドの上に配置

<PrincipalPermissions(SecurityAction.Demand, role:="Admin")> _
...

これはユーザーからコントロールを隠すつもりはありませんが、その特定のコントロールを LoginView でラップするか、プログラムで可視性を制御できると思います。

于 2012-08-13T14:28:34.477 に答える