0

私はウェブアプリケーションを持っています。認証に sso を使用する前に。以下に示すコードを web.config ページに配置しました。

<authentication mode="Forms">
      <forms loginUrl="https://sso.***.***.***/login" timeout="30" defaultUrl="~/Index.aspx" cookieless="UseCookies" slidingExpiration="true" path="/" />
    </authentication>

それはうまくいきます。誰もがその Web にアクセスするには、最初にログインする必要があります。現在、一部のページを公開するように変更する必要があります。そのため、一部のページにアクセスするためにログインする必要はありませんが、一部のページではログインが必要です (sso を使用)。どうやってするか?

ありがとう

4

1 に答える 1

1

web.config のセクション<location>とセクションを使用します。<authorization>ユーザーが現在すべてのページにログインする必要がある場合、次のようなものがあると思います。

<authorization>
    <deny users="?">
</authorization>

<location>要素を追加できます (これらは<system.web>セクションの外に出ます):

  <location path="publicpage.aspx">
    <system.web>
      <authorization>
        <allow users="*" />
      </authorization>
    </system.web>
  </location>

要素はいくつでも追加でき<location>、path 属性でディレクトリをターゲットにすることもできます。

ディレクトリを少しすっきりさせたい場合は、ディレクトリに web.config を追加し、その web.config に要素<authorization><location>要素を追加します。

于 2013-04-11T20:01:08.710 に答える