Spring MVC, Spring Security, просто требуется имя пользователя - PullRequest
0 голосов
/ 08 сентября 2011

У меня есть сайт Spring 3 MVC, использующий Spring Security 3.1.0RC2. В настоящее время я использую org.springframework.security.ldap.authentication.ad.ActiveDirectoryAuthenticationProvider для входа. В демонстрационных целях мой босс просто хочет ввести имя пользователя (любое имя пользователя) и не проверять его ни на что, а просто предоставить доступ. Есть ли какой-нибудь способ убедиться, что пользователь ввел имя пользователя и все?

1 Ответ

1 голос
/ 08 сентября 2011

Почему бы просто не написать свой собственный AuthenticationProvider.

class MyAuthProvider implements AuthenticationProvider {
    public Authentication authenticate(Authentication authentication) {
        // add code to populate GrantedAuthority list if needed.
        Collection<GrantedAuthority> authorities = new ArrayList<GrantedAuthority>();
        authorities.add(new GrantedAuthorityImpl("ROLE_1"));
        authorities.add(new GrantedAuthorityImpl("ROLE_2"));
        authorities.add(new GrantedAuthorityImpl("ROLE_3"));
        return new UsernamePasswordAuthenticationToken(
            authentication.getPrincipal(), 
            authentication.getCredentials(), 
            authorities);

    }

    public boolean supports(Class<?> authentication) {
        return true;
    }
}

В вашей конфигурации безопасности Spring:

<security:authentication-manager>
    <security:authentication-provider ref="myAuthenticationProvider" />
</security:authentication-manager>
<bean id="myAuthenticationProvider" class="MyAuthProvider"/>

ОБНОВЛЕНИЕ 1 См. Выше о том, как добавить полномочия (предоставленные роли) кпользователь.

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