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