代码拉取完成,页面将自动刷新
是针对@玛雅牛 JFinalShiroPlugin 在 **jfinal 3.0+ **版本 做的一个扩展,支持shiro 标签。
3.3版本请使用 https://gitee.com/log4j/jfinalshiroplugin/tree/1.3/
<dependency>
<groupId>com.github.jieblog</groupId>
<artifactId>jfinal-shiro</artifactId>
<version>1.0</version>
</dependency>
如果使用jf template 的话,构造ShiroPlugin(engine),注意不再是原来 Routes对象啦。
public class LmsCoreConfig extends JFinalConfig {
private Engine engine;
/**
* 配置模板引擎
*
* @param me Engine
*/
public void configEngine(Engine me) {
this.engine = me;
}
/**
* 配置插件
*
* @param me Plugins
*/
public void configPlugin(Plugins me) {
ShiroPlugin shiroPlugin = new ShiroPlugin(engine);
shiroPlugin.setLoginUrl("/login");
shiroPlugin.setUnauthorizedUrl("/unauthorized");
me.add(shiroPlugin);
}
/**
* 配置拦截器
*
* @param me Interceptors
*/
public void configInterceptor(Interceptors me) {
me.add(new ShiroInterceptor());
}
}
获取Subject Principal 信息
#principal()
用户没有身份验证时显示相应信息,即游客访问信息。
#guest()
body
#end
用户已经身份验证/记住我登录后显示相应的信息。
#shiroUser()
body
#end
用户已经身份验证通过,即Subject.login登录成功,不是记住我登录的
#authenticated()
body
#end
用户已经身份验证通过,即没有调用Subject.login进行登录,包括记住我自动登录的也属于未进行身份验证。
#noAuthenticated()
body
#end
验证当前Subject是否有该权限
#hasPermission(permissionName)
body
#end
验证当前用户是否属于以下角色
#hasRole(roleName)
body
#end
验证当前用户是否属于以下全部角色
#hasAllRoles(roleName1,roleName2)
body
#end
验证当前用户是否属于以下任意一个角色
#hasAnyRoles(roleName1,roleName2)
body
#end
验证当前Subject是否有下列全部权限
#hasAllPermission(permissionName1,permissionName2)
body
#end
验证当前Subject是否没有该权限
#lacksPermission(permissionName)
body
#end
验证当前Subject是否没有角色
#lacksRole(roleName)
body
#end
如果 共享函数模板文件中有使用 shiro标签时,要在afterJFinalStart 后加入,而不是在configEngine中
/**
* 启动后回调
*/
public void afterJFinalStart() {
engine.addSharedFunction("xxxx.html");
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。