1

シングル サインオンを有効にしたい ASP.NET 2.0 Web アプリケーション (C#) があります。特定のユーザーだけがすべてのページにアクセスできるようにし、他のユーザーには数ページしか表示できないようにしたい。Web.config ファイルにどのような変更を加える必要がありますか? また、ページのコード ビハインドに必要なコードは何ですか?

ありがとうございました

4

1 に答える 1

1

幸いなことに、ASP.NET はまさにこのようなシナリオを念頭に置いて構築されました。

ここでの簡単な例は、次のプロジェクト構造です。

  • LoginPage.aspx
  • デフォルト.aspx
  • web.config
  • /保護
    • メンバー専用ページ.aspx
    • web.config

私の理解が正しければ、「web.config」ファイルを上記の「Protected」フォルダにドロップするだけでかまいません。その web.config ファイルは次のようになります。

<system.web>
<authorization>
 <allow users ="Bob, Jane, Mary" />
</authorization>
</system.web>

「ユーザー」の代わりに「ロール」属性を使用して、アクセスを許可するユーザーのグループ、またはアクセスを拒否するユーザーのグループを指定することもできるため、 の要素<allow><deny>要素を参照してください。<authorization>

次に、ルートの web.config ファイルを変更して、フォーム認証を "有効にする" 必要があります。次のようなものを追加します。

<authentication mode="Forms" >
 <forms loginUrl="LoginPage.aspx" name=".ASPNETAUTH" protection="All" path="~/" timeout="20">
</forms>
</authentication>

...あなたの<system.web>要素に。

あとは、LoginPage.aspx を接続してユーザーをログインさせるだけです。この目的のために標準の ASP.NET Login コントロールを使用できます。認証/承認に独自のデータベースを使用する場合は、次のことができます。ログイン コントロールのイベントをインターセプトして、必要なことを実行します。

最も簡単で基本的な解決策については、次のビデオをご覧ください。

http://www.asp.net/learn/videos/video-45.aspx

お役に立てれば

/リチャード

于 2009-03-20T17:17:04.353 に答える