欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

Shiro快速入门 —— 9.freemaker使用shiro标签

发布时间:2025/7/14 编程问答 55 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Shiro快速入门 —— 9.freemaker使用shiro标签 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

2019独角兽企业重金招聘Python工程师标准>>>

本系列博文目录:https://my.oschina.net/u/3452433/blog/907396

shiro-freemarker-tags项目jar包下载

freemaker默认情况下是不能使用shiro标签进行权限控制的。

 

还好已经由大神James Gregory将此问题解决,并将源码发布到了GitHub上面了。

GitHub上项目地址:https://github.com/jagregory/shiro-freemarker-tags

 

GitHub上的jar包下载报404,可以自己下载源码打包或者使用我提供的源码和jar包(用我的吧~~)

我的项目地址:http://git.oschina.net/imlichao/shiro-freemarker-tags

我的项目jar包地址:http://git.oschina.net/imlichao/shiro-freemarker-tags/raw/master/dist/shiro-freemarker-tags-0.1-SNAPSHOT.jar

 

jar包导入项目

如果项目没有使用maven则可以直接添加到项目中

如果使用了maven可以发布到私服或者直接放到本地仓库中进行引用

<dependency><groupId>com.jagregory.shiro</groupId><artifactId>freemarker</artifactId><version>0.1-SNAPSHOT</version></dependency>

 

在freemaker中自定义shiro标签

这个项目实质上就是实现了一套freemaker的自定义标签,所我们需要自定义shiro标签。

在freemaker配置文件中自定义标签(例子为spring boot配置文件截取的)

/*** FreeMarker配置文件*/ @Configuration public class FreemarkerConfig {@Beanpublic FreeMarkerConfigurer freeMarkerConfigurer(FreeMarkerProperties freeMarkerProperties) {FreeMarkerConfigurer configurer = new FreeMarkerConfigurer();configurer.setTemplateLoaderPaths(freeMarkerProperties.getTemplateLoaderPath()); //模板加载路径默认 "classpath:/templates/"configurer.setDefaultEncoding("utf-8");//设置页面默认编码(不设置页面中文乱码)Map<String,Object> variables=new HashMap<String,Object>();variables.put("shiro", new ShiroTags());configurer.setFreemarkerVariables(variables);//添加shiro自定义标签return configurer;}}

 

在页面使用shiro标签

以上配置完成后,我们就可以在ftl页面使用<@shiro>标签了

给几个例子

<!-- 游客内容 --> <@shiro.guest>Hello guest!</@shiro.guest><!-- 验证权限 --> <@shiro.hasPermission name = "admin_customer_manage">会员详情 </@shiro.hasPermission>

 

 

 

转载于:https://my.oschina.net/u/3452433/blog/901945

总结

以上是生活随笔为你收集整理的Shiro快速入门 —— 9.freemaker使用shiro标签的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。