我是Spring的新手,我的要求是我不想用用戶名和密碼對用戶進行身份驗證。 的用戶身份驗證是一些其他的應用和我的應用程序獲得與folloing細節要求:Spring 3.0安全性 - 授權與認證
- 用戶名
- 角色
我只是想使用Spring Security根據固定的頁面請求中的角色。 我已經考慮編寫UserDetailService,但只添加請求數據,Spring仍然要求提供認證信息。 後來我想過寫類似如下:
public class UserLogin {
/*
@Resource(name = "userDetailsService")
private UserDetailsService userDetailsService;
*/
@Resource(name = "authenticationManager")
private AuthenticationManager authenticationManager;
public boolean login(UserEntity user) {
//UserDetails ud = userDetailsService.loadUserByUsername(username);
Collection<GrantedAuthority> authorities = new ArrayList<GrantedAuthority>();
for (String role : user.getAuthorities()) {
authorities.add(new GrantedAuthorityImpl(role));
}
UsernamePasswordAuthenticationToken token = new UsernamePasswordAuthenticationToken(user.getUsername(), user.getPassword(), authorities);
try {
Authentication auth = authenticationManager.authenticate(token);
SecurityContext securityContext = new SecurityContextImpl();
// Places in ThredLocal for future retrieval
SecurityContextHolder.setContext(securityContext);
SecurityContextHolder.getContext().setAuthentication(auth);
} catch (AuthenticationException e) {
return false;
}
return true;
}
}
上午我在正確的方向前進。如果是這樣,如何配置整個事情..在spring-xml中。