Shiro过滤器&标签简介
java判断sesion中是否有user判断账户密码是否正确
分析
- 需要过滤器控制 没有权限下访问链接
- 需要标签控制 没有权限下 界面元素的隐藏
- anno代表不认证也可以访问,通过对静态资源惊醒放行
- authc代表必须通过认证才可以访问,通常对动态资源(controller,jsp页面)进行拦截
java如果用户没有认证,Shiro会自动跳转到login.jsp页面
Shiro流程分析
Shiro登录认证 - 判断session中的user
- ( 1)过滤器
== 在项目中使用认证过滤器拦截资源(该拦截的拦截,该放行的放行)== - (2)authc认证过滤器
必须认证才能访问,如果未认证跳登录页 - (3)anon过滤器
放行,不需要拦截认证
(4)拦截路径问题
/* /**
applicationContext-shiro.xml
<!--注入SecurityManager-->
<property name="securityManager" ref="securityManager"/>
<property name="filterChainDefinitions">
<value>
<!-- 如果请求提静态资源 anon 不要求session中有user,直接可以访问-->
/css/**=anon
/img/**=anon
/plugins/**=anon
<!-- 如果请求login.do方法 anon-->
/system/user/login-shiro.do=anon
<!-- 如果除以上之后的xxx.do 要求登录 authc查询session中是否有user-->
/**=authc
</value>
</property>
<!--如果 session就是没有user,表示未登录,页面转到login-shiro.jsp -->
<property name="loginUrl" value