一、利用场景举例
注:shiro过滤器与url匹配规则一样平常利用在定义的shiroFilter中,用于对指定的资源进行过滤
二、URL匹配规则
(1)“?”:匹配一个字符,如”/admin?”,将匹配“ /admin1”、“/admin2”,但不匹配“/admin”
(2)“”:匹配零个或多个字符串,如“/admin”,将匹配“ /admin”、“/admin123”,但不匹配“/admin/1”
(3)“”:匹配路径中的零个或多个路径,如“/admin/”,将匹配“/admin/a”、“/admin/a/b”
三、shiro过滤器
(1)anon:匿名过滤器,表示通过了url配置的资源都可以访问,例:“/statics/=anon”表示statics目录下所有资源都能访问
(2)authc:基于表单的过滤器,表示通过了url配置的资源须要登录验证,否则跳转到登录,例:“/unauthor.jsp=authc”如果用户没有登录访问unauthor.jsp则直接跳转到登录
(3)authcBasic:Basic的身份验证过滤器,表示通过了url配置的资源会提示身份验证,例:“/welcom.jsp=authcBasic”访问welcom.jsp时会弹出身份验证框
(4)perms:权限过滤器,表示访问通过了url配置的资源会检讨相应权限,例:“/statics/=perms["user:add:,user:modify:"]“表示访问statics目录下的资源时只有新增和修正的权限
(5)port:端口过滤器,表示会验证通过了url配置的资源的要求的端口号,例:“/port.jsp=port[8088]”访问port.jsp时端口号不是8088会提示缺点
(6)rest:restful类型过滤器,表示会对通过了url配置的资源进行restful风格检讨,例:“/welcom=rest[user:create]”表示通过restful访问welcom资源时只有新增权限
(7)roles:角色过滤器,表示访问通过了url配置的资源会检讨是否拥有该角色,例:“/welcom.jsp=roles[admin]”表示访问welcom.jsp页面时会检讨是否拥有admin角色
(8)ssl:ssl过滤器,表示通过了url配置的资源只能通过https协议访问,例:“/welcom.jsp=ssl”表示访问welcom.jsp页面如果要求协议不是https会提示缺点
(9)user:用户过滤器,表示可以利用登录验证/记住我的办法访问通过了url配置的资源,例:“/welcom.jsp=user”表示访问welcom.jsp页面可以通过登录验证或利用记住我后访问,否则直接跳转到登录
(10)logout:退出拦截器,表示实行logout方法后,跳转到通过了url配置的资源,例:“/logout.jsp=logout”表示实行了logout方法后直接跳转到logout.jsp页面
四、过滤器分类
(1)认证过滤器:anon、authcBasic、auchc、user、logout
(2)授权过滤器:perms、roles、ssl、rest、port