0

良い一日!

web.xml のロール セキュリティを使用して、Web アプリケーションを保護しようとしています。

<security-constraint>
    <web-resource-collection>
        <web-resource-name>RESTRICTED</web-resource-name>
        <description>Resources to be placed under security control</description>
        <url-pattern>/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
        <role-name>manager</role-name>
    </auth-constraint>
</security-constraint>

<security-role>
    <description>ACCESS ROLE</description>
    <role-name>manager</role-name>
</security-role>

私が Weblogic を使用している限り、次の行を含む weblogic-application.xml があります。

<security>
    <security-role-assignment>
        <role-name>manager</role-name>
        <principal-name>manager</principal-name>
    </security-role-assignment>
</security>

ユーザーがすでに認証されている場合 (Web SSO)、そのユーザーには役割があり、アプリケーションはそのようなユーザーにアクセスを提供する必要があります

問題は、ユーザーが必要な役割を持っている場合でも、アプリケーションが基本的なログイン フォームを提供することです。

私はそのような行を追加しようとしました:

<login-config/>

web.xml では、記事の事実に依存して、この行はすべてのページを公開すると言われています (ログイン フォームは削除されると思いましたが、役割のセキュリティは残されます) が、うまくいきませんでした。

ログインフォームを削除してロールセキュリティを残す方法を知っている人はいますか?

更新: 私の WebLogic 内部には、ユーザーのトークンをチェックする手書きの ID アサーターがあります。トークンが提示された場合、アサーターはプリンシパルを作成し、ユーザーをシステムに入れます。

興味深い事実: Firefox ブラウザーを使用する場合、ログイン フォームはありませんが、Chrome では基本的なログイン フォームは常にここにあります...

4

1 に答える 1

0

わかりました。最終的に、この記事の「Web アプリケーション認証に ID アサーションを使用する」セクションで実際に説明されている解決策を見つけました。これらの行を web.xml に追加しました。

    <login-config>
        <auth-method>CLIENT-CERT</auth-method>
    </login-config>

そしてそれはうまくいきました。

于 2013-07-03T08:27:06.507 に答える