34

Windows Active Directory からユーザーを認証するように Tomcat 5.5 以降を構成する最良の方法は何ですか?

4

4 に答える 4

25

www.jspwiki.orgから

参照: ActiveDirectory統合

ldap-settings を使用して server.xml でこれを試してください。

<Realm className="org.apache.catalina.realm.JNDIRealm" debug="99"
    connectionURL="ldap://youradsserver:389"
    alternateURL="ldap://youradsserver:389"         
    userRoleName="member"
    userBase="cn=Users,dc=yourdomain"
    userPattern="cn={0},cn=Users,dc=yourdomain"
    roleBase="cn=Users,dc=yourdomain"
    roleName="cn"
    roleSearch="(member={0})"
    roleSubtree="false"
    userSubtree="true"/>

アプリケーションの tomcat-users.xml と web.xml でロールを定義します。

次のようにファイルを編集webapp_root/WEB_INF/Web.xmlします。

<security-constraint>
   <display-name>your web app display name</display-name>
   <web-resource-collection>
     <web-resource-name>Protected Area</web-resource-name>
     <url-pattern>*.jsp</url-pattern>
     <url-pattern>*.html</url-pattern>
     <url-pattern>*.xml</url-pattern>
   </web-resource-collection>
   <auth-constraint>
     <role-name>yourrolname(ADS Group)</role-name>
   </auth-constraint>
 </security-constraint>
 <login-config>
   <auth-method>FORM</auth-method>
   <form-login-config>
     <form-login-page>/login.jsp</form-login-page>
     <form-error-page>/error.jsp</form-error-page>
   </form-login-config>
 </login-config>
 <security-role>
   <description>your role description</description>
   <role-name>yourrolename(i.e ADS group)</role-name>
 </security-role>
于 2008-11-06T08:03:10.637 に答える
19

Blauhrの答えは良いですがCN、ユーザーの名前は、 (どのユーザーがログインに使用されているか)ADではなく、「表示名」に基づいています。saMAccountName彼の解決策に基づいて、userPattern.

私は個人的に以下を使用しました:

<Realm className="org.apache.catalina.realm.JNDIRealm" debug="99"
    connectionURL="ldap://DOMAIN_CONTROLLER:389"
    connectionName="USERID@DOMAIN.com"
    connectionPassword="USER_PASSWORD"
    referrals="follow"
    userBase="OU=USER_GROUP,DC=DOMAIN,DC=com"
    userSearch="(sAMAccountName={0})"
    userSubtree="true"
    roleBase="OU=GROUPS_GROUP,DC=DOMAIN,DC=com"
    roleName="name"
    roleSubtree="true"
    roleSearch="(member={0})"/>

他のすべてはほとんど同じように機能します。

于 2011-05-02T18:25:00.773 に答える
2

LDAP ベースの認証は、どのオペレーティング システムでも追加の手順なしで機能します。

http://spnego.sf.netは、Windows ドメインにログインしているユーザーのサイレント認証に使用できます。これには、ドメインに登録されているドメイン アカウントが、提供されるサービスに対して権限を持つ必要があります。Windows と Linux の両方で動作します。

于 2009-12-14T09:08:08.770 に答える
0

"SPNEGO SourceForge プロジェクトへようこそ Java で統合された Windows 認証

このプロジェクトの目的は、アプリケーション サーバー (Tomcat など) がクライアント (Web ブラウザーなど) を認証する手段として使用できる代替ライブラリ (.jar ファイル) を提供することです。

組織が Active Directory (AD) を実行していて、すべての Web アプリケーションが Microsoft のインターネット インフォメーション サービス (IIS) を経由し、IIS で統合 Windows 認証が有効になっており、組織内の全員が Internet Explorer (IE) を使用している場合、このプロジェクトあなたには興味がないかもしれません。」

于 2010-11-19T10:39:05.950 に答える