Интеграция Apache Shiro / Active Directory для поддержки единого входа в веб-приложении Grails - PullRequest
0 голосов
/ 17 августа 2011

Я работаю над веб-приложением Grails, которое использует Apache Shiro для аутентификации.Теперь меня попросили реализовать интеграцию SSO и Active Directory с этим приложением.Так как я новичок в LDAP / AD, мне трудно реализовать его должным образом.

Вот что я сделал, я сгенерировал файл ShiroLdapRealm.groovy, выполнив следующую команду, как указано на некоторых веб-сайтах.

grails create-ldap-realm

Затем я добавил несколько свойств конфигурации для LDAP в grails-app/conf/Config.groovy.

ldap.server.url = "ldap://localhost:10389"
ldap.search.base = "ou=users,ou=system"
ldap.search.user = "uid=admin,ou=system"
ldap.search.pass = "secret"
ldap.username.attribute = "uid"
ldap.skip.authentication = false
ldap.skip.credentialsCheck = false
ldap.allowEmptyPasswords = false

Но теперь я не уверен, как получить в моем приложении пользователя, вошедшего в данный момент в Windows, и предоставить UsernamePasswordToken для аутентификации на основе этого сгенерированного ShiroLdapRealm.Я просто хочу предоставить SSO опыт работы с shiro, когда пользователь приходит из Windows Active Directory.Я не смог найти хорошую документацию для этого.

Также меня смущает вопрос о том, использовать ли ShiroLdapRealm или ActiveDirectoryRealm, как упоминалось в некоторых сообщениях.В чем может быть разница между этими двумя?Какой использовать, когда?

Может кто-нибудь, пожалуйста, помогите мне в этом.

Заранее спасибо.

Асан

1 Ответ

1 голос
/ 19 августа 2011

Ваш подход, к сожалению, бесполезен. Это не принесет вам единой регистрации. Вы должны написать KerberosRealm, который будет обрабатывать билеты от клиента. Это даст вам полный SSO.

...