自定义AuthenticationProvider的简单例子
来源:互联网 发布:java工程师需要学什么 编辑:程序博客网 时间:2024/05/02 02:47
- xml 配置:
<authentication-manager>
<authentication-provider ref="myAuthenticationProvider" />
</authentication-manager>
<beans:bean id="userDetailsService" class="net.mantis.security.auth.NMUserDetailsService"/>
<beans:bean id="myAuthenticationProvider" class="net.mantis.security.auth.MyAuthenticationProvider">
<beans:property name="userDetailsService">
<beans:bean class="net.mantis.security.auth.NMUserDetailsService">
</beans:bean>
</beans:property>
</beans:bean>
- net.mantis.security.auth.MyAuthenticationProvider
public class MyAuthenticationProvider implements AuthenticationProvider {
UserDetailsService userDetailsService;
public Authentication authenticate(Authentication authentication)
throws AuthenticationException {
//username
System.out.println("user name: "+authentication.getName());
//password
System.out.println("password: "+authentication.getCredentials());
System.out.println("getPrincipal: "+authentication.getPrincipal());
System.out.println("getAuthorities: "+authentication.getAuthorities());
System.out.println("getDetails: "+authentication.getDetails());
UserDetails userDetails = (UserDetails)this.userDetailsService.loadUserByUsername(authentication.getName());
UsernamePasswordAuthenticationToken result = new UsernamePasswordAuthenticationToken(
userDetails, authentication.getCredentials(),userDetails.getAuthorities());
return result;
}
public boolean supports(Class authentication) {
return true;
}
public void setUserDetailsService(UserDetailsService userDetailsService){
this.userDetailsService = userDetailsService;
}
}
- net.mantis.security.auth.NMUserDetailsService
public class NMUserDetailsService implements UserDetailsService {
@Override
public UserDetails loadUserByUsername(String userName)
throws UsernameNotFoundException {
ArrayList list = new ArrayList();
list.add(new SimpleGrantedAuthority("ROLE_SUPERVISOR"));
User details = new User("rod", "koala", list);
return details;
}
}
- 自定义AuthenticationProvider的简单例子
- 简单继承AuthenticationProvider
- 自定义ClassLoader的简单例子
- 自定义UITabBarController的简单例子
- 一个简单的自定义事件的例子
- 自定义线性表的简单例子
- JSP自定义标签的简单例子
- 自定义控件最简单的例子
- JSTL自定义标签一简单的例子
- j2ee自定义标签的最简单例子
- 简单的例子了解自定义ViewGroup(一)
- 简单的例子了解自定义ViewGroup
- 自定义ClassLoader 简单例子
- 自定义view简单例子
- Spring Security笔记:自定义Login/Logout Filter、AuthenticationProvider、AuthenticationToken
- Spring Security笔记:自定义Login/Logout Filter、AuthenticationProvider、AuthenticationToken
- Spring Security笔记:自定义Login/Logout Filter、AuthenticationProvider、AuthenticationToken
- Spring Security笔记:自定义Login/Logout Filter、AuthenticationProvider、AuthenticationToken
- awk使用手册
- 如何修改linux中console下ls显示各种文件的颜色和vim中颜色
- callback函数
- MFC Windows 程序设计->捕获鼠标
- 程序只启动一个实例的几种方法(转自http://blog.csdn.net/starlee)
- 自定义AuthenticationProvider的简单例子
- 大端和小端(网络字节序和主机字节序)
- 【转】throw 和 throw ex 的区别
- TCP三次握手及四次挥手详细图解
- 缓存
- SuperMap 控件的操作状态常量
- 算法学习笔记(3)——分治法,Fibonacci数列,Strassen算法
- 使用Jad或JadClipse进行反编译
- 网友贴,借鉴下