package org.apereo.cas.web.security; import org.apereo.cas.configuration.model.core.web.security.AdminPagesSecurityProperties; import org.apereo.cas.configuration.support.Beans; import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; import org.springframework.security.config.annotation.authentication.configurers.provisioning.JdbcUserDetailsManagerConfigurer; /** * This is {@link CasJdbcUserDetailsManagerConfigurer}. * * @author Misagh Moayyed * @since 5.1.0 */ public class CasJdbcUserDetailsManagerConfigurer extends JdbcUserDetailsManagerConfigurer<AuthenticationManagerBuilder> { private final AdminPagesSecurityProperties adminPagesSecurityProperties; public CasJdbcUserDetailsManagerConfigurer(final AdminPagesSecurityProperties securityProperties) { this.adminPagesSecurityProperties = securityProperties; } @Override public void configure(final AuthenticationManagerBuilder auth) throws Exception { usersByUsernameQuery(adminPagesSecurityProperties.getJdbc().getQuery()); rolePrefix(adminPagesSecurityProperties.getJdbc().getRolePrefix()); dataSource(Beans.newDataSource(adminPagesSecurityProperties.getJdbc())); passwordEncoder(Beans.newPasswordEncoder(adminPagesSecurityProperties.getJdbc().getPasswordEncoder())); super.configure(auth); } }