asp.netWebサイトの1つのページに対してすべてのユーザーを承認するための最良の方法は何ですか。
ログインページと他の1つのページを除いて、私はすべてのユーザーがWebサイトのページを表示することを拒否します。
このページにすべてのユーザーがアクセスできるようにするにはどうすればよいですか?
asp.netWebサイトの1つのページに対してすべてのユーザーを承認するための最良の方法は何ですか。
ログインページと他の1つのページを除いて、私はすべてのユーザーがWebサイトのページを表示することを拒否します。
このページにすべてのユーザーがアクセスできるようにするにはどうすればよいですか?
私はフォーム認証を使用し、必要なGenericIdentityオブジェクトとCustomPrincipalオブジェクトを作成して、通常はWindows認証でのみ取得できるUser.IsInRoleタイプの関数を利用できるようにしています。
そうすれば、web.configファイルで次のようなことができます...
<location path="Login.aspx">
<system.web>
<authorization>
<allow users ="*" />
</authorization>
</system.web>
</location>
<location path="ManagementFolder">
<system.web>
<authorization>
<allow roles ="Administrator, Manager" />
</authorization>
</system.web>
</location>
そのようなことを処理する基本の「ページ」クラスを作成しました。表示するためにログインが必要な場合は、すべてのページをRequiresLogin属性で装飾できます。属性が存在しない場合は、すべてのユーザーがページにアクセスできます。
例:
<RequiresLogin()> _
<RequiresPermission("process")> _
Partial Class DesignReviewEditProgressPage
Inherits MyPage 'which inherits System.Web.UI.Page and deal with logins itself
...
End Class
MyPageクラスは、それ自体にタグ付けされている属性をチェックし、RequiresLoginが存在する場合は、ログインページに転送します。
これはあなた自身の問題に合うように適応させることができると私は信じています。