0

web.xmlの宣言型セキュリティエントリに問題があります。

私はグループのメンバーですが、以下のエントリではページにアクセスできません*ADL - Education Group。login-noauthページに移動することになります。

私はこれがうまくいくはずだと知っています-私がそれを別のグループ(のようなAT - Tech Support)に変更すると、それはうまくいきます。グループ名の先頭の「*」が疑わしく、web.xmlでCDATAを使用しようとしましたが、機能しませんでした。Active Directoryエントリを制御できないため、グループの名前を変更できません。ダッシュとスペースを含む他のグループ名は正常に機能します。

私はグループのメンバーであることを確認しました*ADL - Education Group

これは単純なtomcat6.0サーバー上にあります。

誰かが問題が何であるか、そしてそれを修正する方法を知っていますか?

<error-page>
    <error-code>403</error-code>
    <location>/pages/login/login-noauth.jsf</location>
</error-page>
<login-config>
    <auth-method>FORM</auth-method>
    <form-login-config>
        <form-login-page>/pages/login/login.jsf</form-login-page>
        <form-error-page>/pages/login/login-fail.jsf</form-error-page>
    </form-login-config>
</login-config>

<security-constraint>
    <display-name>Batch Security</display-name>
    <web-resource-collection>
        <web-resource-name>Batch Security</web-resource-name>
        <url-pattern>/pages/batch/batch-status.jsf</url-pattern>
    </web-resource-collection>
    <auth-constraint>
        <role-name>*ADL - Education Group</role-name>
    </auth-constraint>
</security-constraint>
<security-role>
    <description>Everyone</description>
    <role-name>*ADL - Education Group</role-name>
</security-role>
4

1 に答える 1

0

私の問題は、レルム定義のserver.xmlファイルにありました。「*」で始まるすべてのADグループは、ADでは他のグループとは異なる方法で定義されていることがわかります。特に、異なるroleBaseを指定する、異なるdistinguishedNameがあります。したがって、server.xmlのRealm要素でroleBase属性を変更すると、バックスラッシュや文字変換は必要なく、そのままでうまく機能しました。

roleBaseの編集は、両方のタイプのグループに共通する識別名の部分のみを指定することでした。

1つのケースでは、識別名は次のとおりです。

CN=*ADL - Education Group,OU=ADLS,OU=IdM,DC=ROOT,DC=com

その他の場合、識別名は次のとおりです。

CN=AT - Tech Support,OU=Distribution Groups,OU=AG1-Place-Company,OU=Americas,OU=Exchange,DC=ROOT,DC=com

したがって、server.xmlファイルでroleBaseとして機能するのは次のとおりです。

roleBase="DC=ROOT,DC=com"
于 2012-05-29T19:43:05.693 に答える