Shiro入门(2)Shiro提供的验证模块

上一篇中我们自己定义了一个Servlet来做验证,实际上这没有必要,Shiro提供了验证的模块。


		
		
		
		
		
		
		
			
				/login.jsp = authc
				/pages/* = authc
				/index.jsp* = authc


authc是Shiro内置的一个拦截器,

authc org.apache.shiro.web.filter.authc.FormAuthenticationFilter

登录路径有两层含义:

1、访问受保护资源,而用户未登录,将会跳转至该路径,本例为/login.jsp,例如:

我们访问index.jsp,如果之前未登录,系统将返回login.jsp给我们,在登录页面登陆成功后会访问之前想访问的页面index.jsp

2、符合预设格式的表单提交到loginUrl,将有authc拦截器提取请求参数并执行验证。

表单的格式需要这样写

	

用户帐号:
登录密码:

这个表单属于login.jsp会提交给自己,也就是login.jsp,方法必须是POST,

3个参数:username、password、rememberMe也是固定写法。

如果我们首次访问便是login.jsp,登录成功后会访问successUrl指定的路径,登录失败将访问unauthorizedUrl指定的路径。


如果想要改变这三个参数的名字,需要做些设定:

authc.usernameParam = somethingOtherThanUsername
authc.passwordParam = somethingOtherThanPassword
authc.rememberMeParam = somethingOtherThanRememberMe

spring配置文件中用类似LoginUrl配置的方式来配置键值对。

============================================

有时可能需要扩展FormAuthenticationFilter,比如要使用验证码。

那么就需要对拦截器做新的说明:


		...
		
			
				 
			
		
...


	


你可能感兴趣的