1

いくつかの Web フォームを作成しましたが、他の Web フォームを表示する前に、ユーザーが認証されているかどうかを確認する必要があります。Default.aspxすべてのユーザーがアクセスできるAbout.aspxページ。そして、私には3つのタイプのユーザー、つまり-がいAdmin,User and Super Userます。また、認証の詳細を自分の SQL サーバー データベースに保持しています。

これどうやってするの?前もって感謝します!

4

1 に答える 1

2

まず、メンバーシップとロールプロバイダーを確立します。それについての全体的な話があります。ここでお手伝いします。

SqlMembershipProviderへのリンクは次のとおりです(使用できるオプションの1つ):http: //msdn.microsoft.com/en-us/library/system.web.security.sqlmembershipprovider.aspx

SqlRoleProviderへのリンクは次のとおりです(ここでも、実行できるオプションの1つのみ):: http://msdn.microsoft.com/en-us/library/system.web.security.sqlroleprovider.aspx

これを確立した後、フォルダレベルでユーザー/ロールアクセスを制限できます。このコードをweb.config(構成タグ内)に配置します。

  <location path="AdminPages">
    <system.web>
      <authorization>
        <allow roles="Administrator"/>
        <deny users="*"/>
      </authorization>
    </system.web>
  </location>
  <location path="UserPages">
    <system.web>
      <authorization>
        <allow roles="Administrator,User"/>
        <deny users="*"/>
      </authorization>
    </system.web>
  </location>

ここに少し説明があります。ルートフォルダ「AdminPages」は、ロール「Administrators」のユーザーにのみ許可されます。ロール「Administrator」および「User」のユーザーへのルートフォルダ「UserPages」。どちらの場合も、不明なユーザーはフォルダにアクセスできません。必要なのはこれだけです。これに代わる方法は、Pageから継承するクラスを作成し、そこでページアクセスを処理することです...しかし、私はそのようにはしません。

于 2012-09-23T09:18:55.833 に答える