1つのページだけですべてのユーザーを承認するためのベストプラクティス


1

asp.net Webサイトですべてのユーザーを1つのページにする最も良い方法は何ですか。

ログインページと他の1ページを除いて、私はすべてのユーザーがWebサイトのページを閲覧することを拒否します。

どのようにこのページにすべてのユーザーがアクセスできるようにしますか?

5

フォーム認証を使用し、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> 

-1

私はそういったことを扱うベース「ページ」クラスを作成しました。それを表示するためにログインが必要な場合、私のすべてのページはRequiresLogin属性で装飾できます。属性が存在しない場合、ページはすべてのユーザーがアクセスできます。

例:属性は、それ自体にタグ付けされているとRequiresLoginが存在する場合、それは、ログインページに転送するもの

<RequiresLogin()> _ 
<RequiresPermission("process")> _ 
Partial Class DesignReviewEditProgressPage 
    Inherits MyPage 'which inherits System.Web.UI.Page and deal with logins itself 

    ... 
End Class 

マイページクラスをチェック。

私はこれが自分の問題に合うと考えています。

+2

downvoteの人々は理由を書くことを義務づけられるべきです! 25 9月. 092009-09-25 23:37:07