2009-04-09 9 views
2

Je suis en train de développer une application JAVA qui doit fonctionner sur un Tomcat et je dois pouvoir identifier l'utilisateur distant qui accède à mon application web.Authentification intégrée Tomcat et Windows

Cet utilisateur distant s'exécute sur une fenêtre, j'ai donc besoin de son "Windows login" (attribut de répertoire actif sAMAccountName).

Sur IIS est le plus facile. Je suis ce Detect user logged on a computer using ASP.NET app pour obtenir l'utilisateur connecté

Le contenu de server.xml est:

<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})"/> 

Et le contenu de web.xml est:

<!-- 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> 

J'ai besoin Connexion automatique.

Répondre

0

vous devez utiliser le domaine Tomcat JNDI et l'intégrer avec le répertoire actif de votre serveur

Essayez here quelques directives

+0

J'ai ajouté plus de détails sur mon problème – VansFannel

1

Si vous construisez une application Intranet et recherchez l'authentification unique, vous pouvez alors utiliser quelque chose comme Jespa qui est basé sur jCIFS.

+0

Peut-être que je n'ai pas besoin d'une nouvelle bibliothèque, j'ai seulement besoin d'intégrer l'authentification Windows comme le fait IIS. – VansFannel

+0

Jespa n'est PAS basé sur JCIFS. Le filtre HTTP JCIFS NTLM est défectueux de plusieurs façons, il est donc très regrettable de caractériser Jespa de cette façon. Jespa utilise juste JCIFS pour sa couche MS-RPC et quelques calculs de base NTLM. Mais l'API et la fonctionnalité ne montrent aucune ressemblance. – user8134

+0

Notez que jespa n'est pas libre. –

Questions connexes