Как использовать плагин LDAP на Grails? - PullRequest
4 голосов
/ 27 октября 2010

Я начинаю новый проект на Groovy и Grails.Сейчас я работаю над частью аутентификации и, поскольку у нас есть сервер LDAP, я хочу работать с аутентификацией с использованием LDAP.Я начал настройку среды, я использую SpringSource Tool Suite и Grails 1.3.5 .Когда я начал работать с частью аутентификации, я установил два плагина:

  • springSecurityCore - 1.0.1
  • springSecurityLdap - 1.0.1

Я также запустилкоманда "s2 quickstart" для плагина LDAP.

Все выглядит отлично, я могу использовать LoginController и LogoutController, я могу защитить веб-страницу, чтобы ее можно было увидеть только при входе в систему.Я делаю это, создавая пользователя в BootStrap.groovy

Я также настроил все параметры LDAP и Spring Security Core в Config.groovy с соответствующими значениями нашего сервера LDAP:

   grails.plugins.springsecurity.ldap.context.managerDn
   grails.plugins.springsecurity.ldap.context.managerPassword
   grails.plugins.springsecurity.ldap.context.server
   grails.plugins.springsecurity.ldap.authorities.groupSearchBase
   grails.plugins.springsecurity.ldap.search.base
   grails.plugins.springsecurity.userLookup.userDomainClassName
   grails.plugins.springsecurity.userLookup.authorityJoinClassName
   grails.plugins.springsecurity.authority.className

Однако я не знаю, как проверить, выполняется ли аутентификация на сервере LDAP.Я уверен, что это не делается с LDAP, потому что, когда я захожу в окно входа в систему, когда приложение работает, и я пытаюсь пройти аутентификацию с моим именем пользователя и паролем, которые я обычно использую для сервера LDAP, он говорит, что не может найти этопользователь.Если я пытаюсь пройти аутентификацию с пользователем, которого я создал на BootStrap.groovy, я могу войти в систему, но я предполагаю, что пользователь создается только локально, и он временный.

  1. Как установить провайдера аутентификациибыть сервером LDAP?
  2. Что еще мне нужно сделать после установки ядра безопасности и плагинов ldap после запуска "s2 quickstart"?

Что такое в Groovy и Grailsделает так много всего на заднем плане, что в начале трудно понять, где все настроить.

Заранее благодарен за помощь

РЕДАКТИРОВАТЬ: Я былищу информацию о том, как использовать эти плагины, но я не нашел ничего хорошо документированного, я нашел информацию об Acegi, но этот плагин больше не поддерживается, поэтому я спрашиваю здесь

РЕДАКТИРОВАТЬ: Чтение этого (я посмотрю, если достигнуть использования LDAP): http://blog.springsource.com/2010/08/11/simplified-spring-security-with-grails/

Ответы [ 2 ]

4 голосов
/ 11 мая 2011

1.Как я могу указать, что провайдер аутентификации должен быть сервером LDAP?

Я уверен, что это запись Config.groovy, которая активирует аутентификацию LDAP.

grails.plugins.springsecurity.providerNames = ['ldapAuthProvider',
'anonymousAuthenticationProvider',
'rememberMeAuthenticationProvider']

2.Что еще мне нужно сделать после установки ядра безопасности и плагинов ldap после запуска "s2 quickstart"?

Мне показалось, что это обсуждение очень полезно: CustomUserDetailsService .Результатом был этот метод в расширении UserDetailsContextMapper:

UserDetails mapUserFromContext(org.springframework.ldap.core.DirContextOperations ctx,
    java.lang.String username,
    java.util.Collection<GrantedAuthority> authority) {

    User.withTransaction { status ->

        def user = getUser(ctx)  // Creates and saves a MyUser domain class instance


        def userDetails = new MyUserDetails(
                    username,
                    authority ?: NO_ROLES,
                    user.id, 
                    user.name,
                    user.mail)

        userDetails.fullname = user.name
        userDetails.email = user.mail

        return userDetails

    }

}

И я думаю, что эта запись resources.groovy была необходима:

beans = {
ldapUserDetailsMapper(MyUserDetailsContextMapper) {
}
0 голосов
/ 28 октября 2010

Оба плагина имеют довольно обширную документацию в следующих местах:

http://burtbeckwith.github.com/grails-spring-security-core/docs/manual/index.html http://burtbeckwith.github.com/grails-spring-security-ldap/docs/manual/index.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...