UsernamePasswordAuthenticationFilter学习之基础
2013-11-28 23:40
435 查看
UsernamePasswordAuthenticationFilter是登陆用户密码验证过滤器,它继承了AbstractAuthenticationProcessingFilter过滤器(真正的Filter),是spring security3的第4个过滤器。
UsernamePasswordAuthenticationFilter有3个表单参数,是我们需要知道的
1、usernameParameter:对应登录时的用户名需要传的参数名称,默认为j_username,比如你输入用户hello,表单提交时是这样的 j_username=hello
2、passwordParameter:对应登录时的密码提交时的参数名称,默认为j_password,比如你输入密码是123123,表单提交是这样的 j_password=123123
3、filterProcessesUrl(放在了AbstractAuthenticationProcessingFilter):表单提交地址,默认为/j_spring_security_check,这个地址才能被UsernamePasswordAuthenticationFilter所截取,进行登录认证。
UsernamePasswordAuthenticationFilter会将表单提交的用户密码以及一些用户的其他信息(比如remoteAddr,seesionId),先放入UsernamePasswordAuthenticationToken中
UsernamePasswordAuthenticationToken继承了AbstractAuthenticationToken,AbstractAuthenticationToken继承了Authentication(Authentication存放用户的所有的认证信息)
UsernamePasswordAuthenticationToken 中有2个参数Object principal(主要的身份认证信息),Object credentials(用于证明principal是正确的信息,比如密码)
在一个带有username和password的权限认证请求中,principal就会被赋值username,credentials就会被赋值password;在使用AuthenticationManager的时候,principal会被赋值更多具有丰富内容的信息,比如被赋值成一个UserDetails对象,credentials可能会被赋值密码类似的东西,比如一个特殊的类吧。
AbstractAuthenticationToken中有3个参数Object details,Collection<GrantedAuthority> authorities,boolean authenticated
1、details:额外的认证信息,比如被赋值用户的IP地址
2、authorities:授权信息,比如被赋值用户的角色信息
3、authenticated :是否被验证通过
上面的5个参数是Authentication(是一个接口)必须的
了解以上信息,对理解用户登陆权限的验证过程有很大帮助
UsernamePasswordAuthenticationFilter有3个表单参数,是我们需要知道的
1、usernameParameter:对应登录时的用户名需要传的参数名称,默认为j_username,比如你输入用户hello,表单提交时是这样的 j_username=hello
2、passwordParameter:对应登录时的密码提交时的参数名称,默认为j_password,比如你输入密码是123123,表单提交是这样的 j_password=123123
3、filterProcessesUrl(放在了AbstractAuthenticationProcessingFilter):表单提交地址,默认为/j_spring_security_check,这个地址才能被UsernamePasswordAuthenticationFilter所截取,进行登录认证。
UsernamePasswordAuthenticationFilter会将表单提交的用户密码以及一些用户的其他信息(比如remoteAddr,seesionId),先放入UsernamePasswordAuthenticationToken中
UsernamePasswordAuthenticationToken继承了AbstractAuthenticationToken,AbstractAuthenticationToken继承了Authentication(Authentication存放用户的所有的认证信息)
UsernamePasswordAuthenticationToken 中有2个参数Object principal(主要的身份认证信息),Object credentials(用于证明principal是正确的信息,比如密码)
在一个带有username和password的权限认证请求中,principal就会被赋值username,credentials就会被赋值password;在使用AuthenticationManager的时候,principal会被赋值更多具有丰富内容的信息,比如被赋值成一个UserDetails对象,credentials可能会被赋值密码类似的东西,比如一个特殊的类吧。
AbstractAuthenticationToken中有3个参数Object details,Collection<GrantedAuthority> authorities,boolean authenticated
1、details:额外的认证信息,比如被赋值用户的IP地址
2、authorities:授权信息,比如被赋值用户的角色信息
3、authenticated :是否被验证通过
上面的5个参数是Authentication(是一个接口)必须的
了解以上信息,对理解用户登陆权限的验证过程有很大帮助
相关文章推荐
- 或许一切只是我以为
- 或许一切只是我以为
- 巧妙利用position达到简单防选中和防复制效果
- windows2008登录过程中显示历史登录信息
- 数论练习2:P - Public Sale(巴什博弈)
- I2C1已经改成了push-pull,为什么ref sch上这组外部还需上拉?
- Qt文件操作积累
- 委托 事件 lambda表达式
- OpenJudge计算概论-求字母的个数(统计元音字母个数)
- c#中Split分割字符串常见问题
- 庞果网直方图中面积最大问题ruby解答
- JXL读写office2007Excel(xlsx)报错
- OpenJudge计算概论-骑车与走路
- YAFFS2文件制作以及烧写工具的特殊处理
- OpenJudge计算概论-奇数求和
- (Relax ST1.17)POJ 3618 Exploration(求在t时间内能去n个景点中的几个)
- ubuntu/fedora下安装composer
- Java设计模式Proxy之动态代理
- 浅谈JDBC与ODBC的区别与应用
- 链表基本操作