首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

Spring Security 3多用户登录兑现之四 用户凭证

2012-11-23 
Spring Security 3多用户登录实现之四 用户凭证?? ? ? 前讲讲到AuthenticationFilter会拦截我们的登录表单

Spring Security 3多用户登录实现之四 用户凭证

?

? ? ? 前讲讲到AuthenticationFilter会拦截我们的登录表单提交信息并根据相应的信息构造出对应的用户凭证,这里的用户凭证将会贯穿整个Spring Security安全验证过程,如果验证用户凭证成功,我们可以为相应的用户凭证分配相应的权限,并将用户导向登录成功的界面。来看看这里的多种类型用户登录凭证的实现吧,这里主要实现了两种用户凭证,一种是前台用户登录凭证,一种是后台用户登录凭证。

?

?

package com.template.security.authentication.token;import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;import org.springframework.security.core.GrantedAuthority;import java.util.Collection;/** * Created by IntelliJ IDEA. * User: Zhong Gang * Date: 12-11-4 * Time: 下午11:24 */public class BackendAuthenticationToken extends UsernamePasswordAuthenticationToken {    private String captcha;    public BackendAuthenticationToken(Object principal, Object credentials, Collection<? extends GrantedAuthority> authorities, String captcha) {        super(principal, credentials, authorities);        this.captcha = captcha;    }    public String getCaptcha() {        return captcha;    }}

?

? ? 为了标志我们创建的类为一个用户凭证并且能够被Spring Security识别,我们需要实现Authentication接口,因为Spring Security为我们提供了一个抽象的凭证,所以这里我的前台凭证就继承了这样一个抽象的凭证类,名为AbstractAuthenticationToken, 根据前台表单的提交信息有邮件地址和电话号码,所以实现的ForendAuthenticationToken包含这样两个属性,而Spring Security为我们提供了常见的用户名和密码的登录凭证实现,我的后台登录表单信息只是多了一个验证码,所以我直接继承了UsernamePasswordAuthenticationToken这样一个类。

热点排行