0

私は ASP.NET テクノロジにまったく慣れていません。

<configuration>
    <system.web>
      <authorization>
        <allow roles="Agency,Admin"/>
        <deny users="*"/>
      </authorization>
    </system.web>
</configuration>

フォルダー用の上記の web.config があります。AddOrganisation.aspx というページにアクセスするには、Agency ロールの一部のユーザーに昇格された特権を与える必要があります。これを解決するには、次のマークアップを web.config に追加できると思いますが、これは静的になります

<location path="AddOrganization.aspx">
    <system.web>
      <authorization>
        <allow users="wale, etc, etc"/>
        <deny users="*"/>
      </authorization>
    </system.web>
  </location>

変更ごとに web.config を更新する代わりに、プログラムでユーザーを追加できるようにするにはどうすればよいですか?

私はあなたの応答に感謝します。ありがとうございました

4

1 に答える 1

1

実行時に Web 構成を変更しないでください。これにより、ユーザーを追加するたびにアプリケーションが再起動します。MSDNはこう言っています

構成の変更によりアプリケーション ドメインが再起動する

Web.config ファイルの構成設定を変更すると、アプリケーション ドメインが間接的に再起動されます。この動作は仕様によるものです。オプションで configSource 属性を使用して、変更が行われたときに再起動を引き起こさない外部構成ファイルを参照できます。詳細については、セクション要素によって継承される一般属性の configSource を参照してください。

代わりに、これらのユーザーに別の役割を与えて、それらのユーザーのみが "AddOrganisation.aspx" ページにアクセスできるようにする必要があります。

または、これらのユーザーに別のロールを作成したくない場合は、別のこともできます。これらのユーザーをテーブルに追加し続け、ページにリクエストが行われるたびに、ユーザー名がテーブルに存在するかどうかを確認し、ユーザーを許可/拒否できます。

于 2013-09-04T08:14:19.953 に答える