shiro的filter使用

jfinal里集成shiro做验证,没用使用jfianl的shiroplugin,直接使用自定义filter,在shiro.ini里配置。

 

[filters]

#这个是自定义过滤器,配合[urls]使用,当urls过滤器设置的是以下定义的过滤器,则ShiroFilter会调用这个类  

app_auth=com.shiro.ext.AuthorizationFilter4Shiro

#这里配置默认登录URL,当验证不通过的时候自动跳转到该URL

#虽然jfinal默认index可以省略,为了配合/login/*的话,必须是/login/xxxx类似的url才会被识别。必须把/index加上,否则/login的话

#不被/login/* = anon过滤器识别,就会一直在app_auth的验证里死循环。

app_auth.loginUrl = /login/index

[urls]

#所有静态页面不需要验证,所有用anon匿名过滤器

/static/** = anon

#验证相关的动作也不应该要验证,否则会产生死循环,

#/login/**和/login/*的区别

#/login/**的话/login,/login;23456,/login/xxxx之类的都认为是合法url被识别成anon过滤器,这里特别注意URL后面带分号的如:/login;JSESSIONID=#!@$HDK123jjD

#也会被归类到匿名过滤器,导致会跳过验证,然后jfinal那边因为找不到/login;JSESSION的这个action,默认是/gws_platform/根所带的参数为:【login;JSESSIONID=】

#然后页面也就显示成/gws_platform/所渲染的页面了。

#/login/*的话,必须是/login/xxxx类似的url才会被识别。

/login/* = anon

/** = app_auth

 

你可能感兴趣的:(jfinal,shiro)