Como obter uma string de conexão LDAP para meu ActiveDirectory

3

Estou tentando fazer com que o plug-in Grails LDAP funcione com meu Active Directory.

O plugin requer muitas coisas com as quais eu não estou familiarizado, já que não sei muito sobre o Active Directory.

Aqui estão as coisas exigidas pelo plug-in:

// LDAP config
grails.plugins.springsecurity.ldap.context.managerDn = '[distinguishedName]'
grails.plugins.springsecurity.ldap.context.managerPassword = '[password]'
grails.plugins.springsecurity.ldap.context.server = 'ldap://[ip]:[port]/'
grails.plugins.springsecurity.ldap.authorities.ignorePartialResultException = true // typically needed for Active Directory
grails.plugins.springsecurity.ldap.search.base = '[the base directory to start the search.  usually something like dc=mycompany,dc=com]'
grails.plugins.springsecurity.ldap.search.filter="sAMAccountName={0}" // for Active Directory you need this
grails.plugins.springsecurity.ldap.search.searchSubtree = true
grails.plugins.springsecurity.ldap.auth.hideUserNotFoundExceptions = false
grails.plugins.springsecurity.ldap.search.attributesToReturn = ['mail', 'displayName'] // extra attributes you want returned; see below for custom classes that access this data
grails.plugins.springsecurity.providerNames = ['ldapAuthProvider', 'anonymousAuthenticationProvider'] // specify this when you want to skip attempting to load from db and only use LDAP

// role-specific LDAP config
grails.plugins.springsecurity.ldap.useRememberMe = false
grails.plugins.springsecurity.ldap.authorities.retrieveGroupRoles = true
grails.plugins.springsecurity.ldap.authorities.groupSearchBase ='[the base directory to start the search.  usually something like dc=mycompany,dc=com]'
// If you don't want to support group membership recursion (groups in groups), then use the following setting
// grails.plugins.springsecurity.ldap.authorities.groupSearchFilter = 'member={0}' // Active Directory specific
// If you wish to support groups with group as members (recursive groups), use the following
grails.plugins.springsecurity.ldap.authorities.groupSearchFilter = '(member:1.2.840.113556.1.4.1941:={0})' // Active Directory specific

Estou usando o Windows 2008 Server e sei o seguinte:

IP = 10.10.10.90
Name = bold.foo.bar (This is what I see under Active Directory Users and Computers)
Domain ='BOLD'
Group = 'MANAGERS'
Users = USERA (part of MANAGERS group) and USERB (not part of MANAGERS group)

Pergunta

Posso obter ajuda para preencher algumas / a maioria das configurações necessárias? Tenho acesso aos Serviços de Domínio do Active Directory no Gerenciador de Servidores, portanto, se a maioria das informações sair de lá, posso obtê-lo.

PS: Eu não tenho o luxo de um administrador de sistemas me ajudar nisso. Então, sou o desenvolvedor que preencheu os dois papéis:)

    
por Omnipresent 22.02.2013 / 03:36

2 respostas

4

Utilitário do Active Directory Explorer (AdExplorer) da Microsoft Windows Sysinternals pode ajudar você a descobrir as informações DN e Base de pesquisa necessárias.

MasémelhorusaralgunsconceitosLDAPparaobtermaiscontrole.Porexemplo,vocêdesejaadicionarmais search.filter ou para obter mais atributos ( search.attributesToReturn ) nos resultados da pesquisa (você também deseja obter o número de telefone do usuário). Links úteis:

por 22.02.2013 / 05:18
1

De longe, a coisa mais importante com grails e AD é usar o ActiveDirectoryLdapAuthenticationProvider em vez de LdapAuthenticationProvider, pois isso salvará um mundo de dor. Você pode configurar a autenticação do AD em apenas algumas linhas:

Em resources.groovy:

// Domain 1
ldapAuthProvider1(ActiveDirectoryLdapAuthenticationProvider,
        "mydomain.com",
        "ldap://mydomain.com/"
)

// Domain 2
ldapAuthProvider2(ActiveDirectoryLdapAuthenticationProvider,
        "mydomain2.com",
        "ldap://mydomain2.com/"
)

Em Config.groovy:

grails.plugin.springsecurity.providerNames = ['ldapAuthProvider1', 'ldapAuthProvider2']

Esse é todo o código que você precisa. Você pode praticamente remover todas as outras configurações do grails.plugin.springsecurity.ldap. * No Config.groovy, pois elas não se aplicam a essa configuração do AD.

Para alguma documentação, consulte: link

    
por 17.10.2014 / 15:44