1

シナリオは次のとおりです。

私は vs2005 と sql server2005 で役割ベースのプロジェクトに取り組んでいます。データベースでロールを定義し、カスタム ロール プロバイダーを追加しました。「管理者」と「ユーザー」のような 2 つの役割があります。プロジェクトに 2 つのフォルダーを作成し、役割に従ってこれらのフォルダー (管理者とユーザー) にページを配置しました。ここで、ロールに従ってページにアクセスするためのコードを web.config に追加したいと思います。これは、管理者が管理フォルダー ページのみを表示し、ユーザーがユーザー フォルダー ページのみを表示できることを意味します。

役割の承認を持つタグで、管理者用に 1 つのページとユーザー用に 1 つのページのみを定義すると、それらは正常に機能します。ただし、両方のフォルダーで複数のページを使用した場合は、両方の web.config ファイルですべてのページを定義する必要があります。

このようなロケーションタグを使用しました

<location path="user/userpage1.aspx">
    <system.web>
      <authorization>
        <allow roles="user"/>
        <deny users="*"/>
      </authorization>
    </system.web>
  </location>

タグ内のページの代わりにフォルダの役割を割り当てる可能性はありますか? はいの場合、これを実装するための貴重なアイデアを教えてください。

更新この 2 つのロケーションタグを Web 構成 に追加しました

<!--allow admin role members-->
  <location path="admin/adminpage1.aspx">
    <system.web>
      <authorization>
        <allow roles="admin"/>
        <deny users="*"/>
      </authorization>
    </system.web>
  </location>
<!--allow user role members-->
  <location path="user/userpage1.aspx">
    <system.web>
      <authorization>
        <allow roles="user"/>
        <deny users="*"/>
      </authorization>
    </system.web>
  </location> 
4

1 に答える 1

1

次のことはあなたのために働きませんか?

<location path="folder">
    <system.web>
        <authorization>
            <allow roles="user" />
            <deny users="*" />
        </authorization>
    </system.web>
</location>

次の構成で何が機能するか:

<location path="Content/Images">
    <system.web>
        <authorization>
            <allow users="*" />
        </authorization>
    </system.web>
</location>
<system.web>
    <authorization>
        <allow roles="Admin,Manager,Client" />
        <deny users="?" />
    </authorization>
</system.web>

一般的には許可されていませんが、匿名アクセスを許可します。


サブフォルダに別の場所を置くことができます-不可知論者のWeb.config:

<system.web>
    <authorization>
        <allow roles="user" />
        <deny users="*" />
    </authorization>
</system.web>
于 2013-01-04T06:52:56.900 に答える