2009-04-09 8 views
2

Ich entwickle eine JAVA APP, die auf einem Tomcat ausgeführt werden muss, und ich muss in der Lage sein, den Remotebenutzer zu identifizieren, der meinem Anwendungsweb beitritt.Tomcat und Windows integrierte Authentifizierung

Dieser Remote-Benutzer läuft auf einem Windows, so dass ich seine "Windows-Login" (sAMAccountName Active Directory-Attribut) abrufen muss.

Am IIS ist am einfachsten. Ich folge dieser Detect user logged on a computer using ASP.NET app zu dem Benutzer erhalten angemeldet

Der Gehalt an server.xml ist:

<Realm 
    className="org.apache.catalina.realm.JNDIRealm" debug="99" 
    connectionURL="ldap://DAServer:389" 
    connectionName="[email protected]" 
    connectionPassword="secret" 
    referrals="follow" 
    userBase="OU=mycompany,DC=mydomain,DC=local" 
    userSubtree="true" 
    roleBase="OU=groups,DC=mydomain,DC=local" 
    roleName="name" 
    roleSubtree="true" 
    roleSearch="(member={0})"/> 

und der Gehalt an web.xml ist:

<!-- Define a Security Constraint on this Application --> 
    <security-constraint> 
     <web-resource-collection> 
     <web-resource-name>Entire Application</web-resource-name> 
      <url-pattern>/*</url-pattern> 
     </web-resource-collection> 

     <auth-constraint> 
      <role-name>myCompany Users</role-name> 
     </auth-constraint> 
    </security-constraint> 

    <!-- Define the Login Configuration for this Application --> 
    <login-config> 
     <auth-method>BASIC</auth-method> 
     <realm-name>myRealm</realm-name> 
    </login-config> 

    <!-- Security roles referenced by this web application --> 
    <security-role> 
     <description>The role that is required to log in to APP</description> 
     <role-name>myCompany Users</role-name> 
    </security-role> 

I Automatische Anmeldung benötigen.

Antwort

0

müssen Sie den Tomcat JNDI Bereich verwenden und integrieren es mit Ihrem Server Active Directory

here Versuchen Sie, für einige Richtlinien

+0

Ich fügte weitere Details zu meinem Problem hinzu – VansFannel

1

Wenn Sie eine Intranet-Anwendung erstellen und suchen nach SSO dann können Sie etwas verwenden wie Jespa, die auf jCIFS basiert.

+0

Vielleicht brauche ich keine neue Bibliothek, ich muss nur Windows-Authentifizierung wie IIS integrieren. – VansFannel

+0

Jespa basiert NICHT auf JCIFS. Der JCIFS NTLM HTTP-Filter ist in vielerlei Hinsicht fehlerhaft, so dass es sehr bedauerlich ist, Jespa auf diese Weise zu charakterisieren. Jespa verwendet nur JCIFS für seine MS-RPC-Schicht und einige grundlegende NTLM-Berechnungen. Aber API und Funktionalität haben keine Ähnlichkeit. – user8134

+0

Beachten Sie, dass jespa nicht frei ist. –