shiro与freemarker标签集成

2 篇文章 0 订阅
1 篇文章 0 订阅

关于shiro标签与freemarker模板引擎集成

          最近开发的新系统中,使用到了shiro管理权限,前台页面采用freemarker模板来处理的,当前台页面有些按钮或者标签需要权限控制时,freemarker本身对struts2的标签库支持很到位,导入dtd文件(在struts核心包里)在web-info下就行了,然而对shiro的标签支持不是很完整,尽管提供了相关支持。下面说说两者具体怎么集成:

 

       freemarker之所以和shiro标签兼容不好是因为struts2-core.jar的相关类对shiro进行了拦截处理,所以必须重新调整该方法。

       1. 下载shiro-freemarker-tags.jar包 ( 里面都封装了和jsp页面导入相同的标签库)

       2. 打开struts2-core-2.1.8.1.jar的包,找到FreemarkerManager.class文件,反编译class出来的类中找到getConfiguration(ServletContext servletContext) throws TemplateException   在该类中添加如下代码:config.setSharedVariable("shiro", new ShiroTags());  然后编译成class文件后重新放入该包对应的位置中,记得编译时工程包路径和环境必须一直,否编译后不可用。

       3.  然后在freemarker的模板页面html中添加shiro的标签<@shiro.hasPermission name="auth:role:add">hello world</@shiro.hasPermission> 即可!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值