本系列博文目录:
shiro-freemarker-tags项目jar包下载
freemaker默认情况下是不能使用shiro标签进行权限控制的。
还好已经由大神James Gregory将此问题解决,并将源码发布到了GitHub上面了。
GitHub上项目地址:https://github.com/jagregory/shiro-freemarker-tags
GitHub上的jar包下载报404,可以自己下载源码打包或者使用我提供的源码和jar包(用我的吧~~)
我的项目地址:
我的项目jar包地址:
jar包导入项目
如果项目没有使用maven则可以直接添加到项目中
如果使用了maven可以发布到私服或者直接放到本地仓库中进行引用
com.jagregory.shiro freemarker 0.1-SNAPSHOT
在freemaker中自定义shiro标签
这个项目实质上就是实现了一套freemaker的自定义标签,所我们需要自定义shiro标签。
在freemaker配置文件中自定义标签(例子为spring boot配置文件截取的)
/** * FreeMarker配置文件 */@Configurationpublic class FreemarkerConfig { @Bean public FreeMarkerConfigurer freeMarkerConfigurer(FreeMarkerProperties freeMarkerProperties) { FreeMarkerConfigurer configurer = new FreeMarkerConfigurer(); configurer.setTemplateLoaderPaths(freeMarkerProperties.getTemplateLoaderPath()); //模板加载路径默认 "classpath:/templates/" configurer.setDefaultEncoding("utf-8");//设置页面默认编码(不设置页面中文乱码) Mapvariables=new HashMap (); variables.put("shiro", new ShiroTags()); configurer.setFreemarkerVariables(variables);//添加shiro自定义标签 return configurer; }}
在页面使用shiro标签
以上配置完成后,我们就可以在ftl页面使用<>标签了
给几个例子
<@shiro.guest>Hello guest! <@shiro.hasPermission name = "admin_customer_manage"> 会员详情