0

私は2つのページを持っています:Members.aspxAdmins.aspx。ログに記録されていないユーザーには表示されないようにし、ログに記録されたユーザーには最初のユーザーを表示させ、特定のユーザーのみに両方を表示させたいと考えています。

ユーザーのカテゴリ(「メンバー」または「管理者」)は、ログイン時にコードから検出され、セッション変数に入れられます。

フォーム認証を使用して、ログに記録されたユーザーにページへのアクセスを簡単に許可できます(基本的にここで説明しますweb.config)が、ユーザー名ではなく彼のカテゴリを考慮に入れるためにどのように設計する必要がありますか?

ユーザーはいつでもカテゴリを変更できるため、名前をハードコーディングできません。これはデータベースに依存しないため、FormsAuthenticationログインモードを使用する必要があります。

4

3 に答える 3

1

あなたは本当に調べる必要があります

Asp.netの役割の管理

セキュリティロールに基づくサイトマップノードのフィルタリング

セッション値に基づいて独自のセキュリティメカニズムを構築しようとするよりも賢明です。

于 2012-09-19T17:43:19.417 に答える
1

私の提案は、役割ベースの認証を使用することです。ユーザーは1つ以上の役割を持つことができます。.NETには、ユーザーとその役割を管理するのに役立つクラスがあります。

これは良いチュートリアルの1つです:http ://www.4guysfromrolla.com/articles/082703-1.aspx

幸運を。

于 2012-09-19T17:46:03.053 に答える
0

ロールごとにグループ化されたフォルダーにページを配置し、フォルダーごとにWeb.configを作成できます。

管理ゾーンには、次のものを使用できます。

<configuration>
   <system.web>
      <authorization>
         <allow roles="admin"/>
         <deny users="*"/>
      </authorization>
   </system.web>
</configuration>

また、メンバーゾーンには、次のものを使用できます。

<configuration>
   <system.web>
      <authorization>
         <allow roles="admin"/>
         <allow roles="member"/>
         <deny users="*"/>
      </authorization>
   </system.web>
</configuration>
于 2012-09-19T17:45:39.130 に答える