2009-12-29 16 views
1

J'ai récemment travaillé sur un projet JBoss Seam (v2.1.1) où je veux m'authentifier contre LDAP/AD et stocker des prémissions dans un schéma de base de données personnalisé.JBoss Seam utilisant LDAP Indetity Store et JPA Identity Store ensemble

La documentation indique que cela est possible et j'ai vu un exemple de livre de texte qui ne fonctionne pas pour moi puisque le schéma de base de données est géré par Hibernate. Quelqu'un a-t-il fait quelque chose de similaire? Quelqu'un peut-il donner un bon exemple?

Merci d'avance. --ctopete

Répondre

0

J'ai personnellement développé une solution comme celle-ci. J'ai utilisé jCifs pour authentifier tous les utilisateurs via NTLM, puis j'utilise la paire nom d'utilisateur/domaine pour charger les rôles et les autorisations d'une base de données personnalisée.

jcifs est super facile à configurer, juste définir ces filtres dans votre web.xml: http://jcifs.samba.org/src/docs/ntlmhttpauth.html

puis dans votre classe Authenticator, dans la méthode authenticate() les utiliser pour lire le nom d'utilisateur et le domaine:

@Name("authenticator") 
public class Authenticator { 

    @In 
    Context sessionContext; 

    ... 

    public boolean authenticate() { 

     String username = ((NtlmPasswordAuthentication) sessionContext.get("NtlmHttpAuth")).getUsername(); 
     String domain = ((NtlmPasswordAuthentication) sessionContext.get("NtlmHttpAuth")).getDomain(); 

    ... 

    }