除非我有formLogin(),否则不会调用自定义UserDetailsS​​ervice

时间:2016-04-02 16:17:58

标签: java spring spring-mvc spring-security

身份验证由另一个系统完成,因此我在HttpRequest中获得 userId 角色。因此,我想要做的就是设置用户详细信息和role权限(授权),而无需登录表单。< / p>

所以我创建了 UserDetailsS​​ervice 的自定义实现...但它没有被调用,因此角色没有设置

如何设置它以便调用自定义UserDetailsService? 或者关于如何实现这一目标的任何其他方式?

@Override
protected void configure(HttpSecurity http) throws Exception{

CharacterEncodingFilter encodingFilter = new CharacterEncodingFilter();
encodingFilter.setEncoding("UTF-8");
encodingFilter.setForceEncoding(true);
http
.addFilterBefore(encodingFilter,CsrfFilter.class)
.addFilterAfter(new MdcFilter(), SwitchUserFilter.class)
.addFilterAfter(new ParameterSanitizerFilter(), MdcFilter.class)
.authorizeRequests()
.antMatchers("/**").hasAnyRole(StringConstants.USER_ROLE, StringConstants.MANAGER_ROLE);
//.formLogin();
}

1 个答案:

答案 0 :(得分:0)