내 펄 CGI 스크립트의 일부 보안 LDAP 플러그인을 봄 (노력하고 있습니다 ..) : 그러니까 기본적으로 구성 Grails는
use Net::LDAP;
use Net::LDAP::Entry;
...
$edn = "DC=xyz,DC=com";
$quser ="(&(objectClass=user)(cn=$username))";
$ad = Net::LDAP->new("ip_address...");
$ldap_msg=$ad->bind("$username\@xyz.com", password=>$password);
my $result = $ad->search( base=>$edn,
scope=>"sub",
filter=>$quser);
my $entry;
my $myname;
my $emailad;
my @entries = $result->entries;
foreach $entry (@entries) {
$myname = $entry->get_value("givenName");
$emailad = $entry->get_value("mail");
}
는 대한 관리자/관리자 계정이 없습니다 AD, 사용자 자격 증명은 바인딩에 사용됩니다. 나는 grails에서 같은 것을 구현할 필요가있다 .. + 여러 광고를 검색하는 플러그인을 구성하는 방법이 있는가, context.server에서 더 많은 LDAP IP를 추가 할 수 있지만 각 서버마다 다른 검색 기반이 필요하다는 것을 알고있다.
++ 나는 내 DB를 사용하고 싶지 않다. LDAP를 통해 사용자 로그인은> 나는 그의 이메일을 얻고, 다른 LDAP 쿼리에 대한 이메일을 사용하지만 그건 아마 다른 주제 :
어쨌든 코드가 너무 멀리있을 것입니다 :
grails.plugin.springsecurity.ldap.context.managerDn = ''
grails.plugin.springsecurity.ldap.context.managerPassword = ''
grails.plugin.springsecurity.ldap.context.server = 'ldap://address:389'
grails.plugin.springsecurity.ldap.authorities.ignorePartialResultException = true
grails.plugin.springsecurity.ldap.search.base = 'DC=xyz,DC=com'
grails.plugin.springsecurity.ldap.authenticator.useBind=true
grails.plugin.springsecurity.ldap.authorities.retrieveDatabaseRoles = false
grails.plugin.springsecurity.ldap.search.filter="sAMAccountName={0}"
grails.plugin.springsecurity.ldap.search.searchSubtree = true
grails.plugin.springsecurity.ldap.auth.hideUserNotFoundExceptions = false
grails.plugin.springsecurity.ldap.search.attributesToReturn =
['mail', 'givenName']
grails.plugin.springsecurity.providerNames=
['ldapAuthProvider',anonymousAuthenticationProvider']
grails.plugin.springsecurity.ldap.useRememberMe = false
grails.plugin.springsecurity.ldap.authorities.retrieveGroupRoles = false
grails.plugin.springsecurity.ldap.authorities.groupSearchBase ='DC=xyz,DC=com'
grails.plugin.springsecurity.ldap.authorities.groupSearchFilter = 'member={0}'
그리고 오류 코드는 : [LDAP : 오류 코드 1 - 000004DC : LdapErr : DSID - 0C0906E8, 주석 :이 작업을 수행하려면 연결에 성공적인 바인딩이 완료되어야합니다., 데이터 0, v1db1
그리고 그것은 사용자/시도해보십시오./ Heeeeelp! :)
당신의 providerNames 목록에 누락 된 인용 부호와 왼쪽 브래킷 있습니다. 그게 효과가 있는지 없는지 확실치 않습니다. – grantmcconnaughey
죄송합니다, 복사하는 동안 오류가 있습니다 : 행 : grails.plugin.springsecurity.providerNames = [ 'ldapAuthProvider', 'anonymousAuthenticationProvider'] – user1611228