JOSSO および Spring Security アプリケーションを Grails アプリケーションに正常に統合しました (ユーザー制御に LDAP を使用)。
JOSSO は既に認証を管理しているため、Spring Security の統合には「Pre-Authentication Scenarios」を使用しています。resources.groovy
Spring Security 構成に関連する私のコンテンツは次のとおりです。
def developmentEnvironment = {
if (grailsApplication.config.grails.plugins.springsecurity.active) {
preAuthenticatedAuthenticationProvider(PreAuthenticatedAuthenticationProvider) {
preAuthenticatedUserDetailsService = ref('preAuthenticatedUserDetailsService')
}
preAuthenticatedUserDetailsService(PreAuthenticatedGrantedAuthoritiesUserDetailsService) {
}
j2eePreAuthFilter(J2eePreAuthenticatedProcessingFilter) {
authenticationManager = ref('authenticationManager')
authenticationDetailsSource = {
J2eeBasedPreAuthenticatedWebAuthenticationDetailsSource authenticationDetailsSource ->
mappableRolesRetriever = {
SimpleMappableAttributesRetriever mappableAttributesRetriever ->
mappableAttributes = ['app_admin', 'app_user', 'app_report', 'app_access'] as Set
}
userRoles2GrantedAuthoritiesMapper = {
SimpleAttributes2GrantedAuthoritiesMapper grantedAuthoritiesMapper ->
convertAttributeToUpperCase = "true"
}
}
}
preAuthenticatedProcessingFilterEntryPoint(Http403ForbiddenEntryPoint) {
}
preAuthenticatedExceptionTranslationFilter(ExceptionTranslationFilter) {
authenticationEntryPoint = ref('preAuthenticatedProcessingFilterEntryPoint')
}
}
}
すべてが正常に動作し、Grails 側のデフォルト プロパティにアクセスできます (たとえば、 を使用springSecurityService
)。
しかし今、LDAP からカスタム プロパティを取得するという新しい要件があります (例: ownership
)。したがって、JOSSOがこれらのプロパティを自動的に取得することがわかっている限り、LDAPの下でこれらのプロパティをユーザーに追加しますが、grailsアプリケーション側ではこれらを取得できません。これらのプロパティをグレイル側で取得する方法はありますか?