spring boot +shiro+freemarker

6 篇文章 0 订阅
spring boot + shiro +freemark

ftl页面加上shiro-tag组件

1.pom.xml
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<shiro.version>1.4.0</shiro.version>
<spring.version>5.0.1.RELEASE</spring.version>
</properties>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
<!-- shiro start -->
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-spring</artifactId>
<version>${shiro.version}</version>
</dependency>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-ehcache</artifactId>
<version>1.2.3</version>
</dependency>
<dependency>
<groupId>net.mingsoft</groupId>
<artifactId>shiro-freemarker-tags</artifactId>
<version>0.1</version>
</dependency>
<!-- shiro end -->

2.
importcom.jagregory.shiro.freemarker.ShiroTags;
importfreemarker.template.Configuration;
importfreemarker.template.TemplateModelException;
importorg.springframework.beans.factory.annotation.Autowired;
importorg.springframework.stereotype.Service;

importjavax.annotation.PostConstruct;

@Service
public classFreemarkerConfig {
@Autowired
privateConfigurationconfiguration;

@PostConstruct
public void setSharedVariable()throwsTemplateModelException {
configuration.setSharedVariable("shiro", new ShiroTags());
}
}



出现如下错误


改进方法:
importcom.jagregory.shiro.freemarker.ShiroTags;
importfreemarker.template.TemplateModelException;
importorg.springframework.beans.factory.annotation.Autowired;
importorg.springframework.stereotype.Component;
importorg.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer;

importjavax.annotation.PostConstruct;
@Component
public classFreemarkerComponent {

@Autowired
privateFreeMarkerConfigurerfreeMarkerConfigurer;

@PostConstruct
public void setSharedVariable()throwsTemplateModelException {
freeMarkerConfigurer.getConfiguration().setSharedVariable("shiro", new ShiroTags());
}
}



3:在ftl页面使用shiro-tag
<@ shiro.hasPermission name= "role:edit2" >
<span> 有管理员权限 </span>
</@ shiro.hasPermission >

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值