Spring security Spring 3.0安全性-带身份验证的授权
我是Spring的新手,我的要求是我不想用用户名和密码对用户进行身份验证。 用户正在验证某个其他应用程序,我的应用程序将获取以下详细信息的请求:Spring security Spring 3.0安全性-带身份验证的授权,spring-security,Spring Security,我是Spring的新手,我的要求是我不想用用户名和密码对用户进行身份验证。 用户正在验证某个其他应用程序,我的应用程序将获取以下详细信息的请求: 用户名 角色 我只想使用Spring安全性根据请求中的角色保护页面。 我曾考虑过编写UserDetailService,但这只是添加请求数据,Spring仍然要求提供身份验证信息。 然后,我想写下如下内容: 公共类用户登录{ /* @资源(name=“userDetailsService”) 私有用户详细信息服务用户详细信息服务; */ @资源(nam
公共类用户登录{
/*
@资源(name=“userDetailsService”)
私有用户详细信息服务用户详细信息服务;
*/
@资源(name=“authenticationManager”)
私人AuthenticationManager AuthenticationManager;
公共布尔登录(UserEntity用户){
//UserDetails ud=userDetailsService.loadUserByUsername(用户名);
收集权限=新建ArrayList();
for(字符串角色:user.getAuthories()){
权限。添加(新授权权限impl(角色));
}
UsernamePasswordAuthenticationToken=新的UsernamePasswordAuthenticationToken(user.getUsername(),user.getPassword(),authorities);
试一试{
Authentication auth=authenticationManager.authenticate(令牌);
SecurityContext SecurityContext=新的SecurityContextImpl();
//ThredLocal中的位置,供将来检索
setContext(securityContext);
SecurityContextHolder.getContext().setAuthentication(auth);
}捕获(身份验证异常e){
返回false;
}
返回true;
}
}
我走的方向对吗。如果是这样的话,如何配置整个东西。。在SpringXML中。您处于所谓的预身份验证场景中,您将SpringSecurity配置为仅授权访问,而不是验证访问。看见这是一个完整的配置,您需要实现
AbstractPreAuthenticatedProcessingFilter
来grep您的身份验证方案的UserPrincipal
,以及您上面提到的自定义UserDetailsService