当前位置: 首页 > news >正文

freemarker中常用的shiro标签

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

guest(游客)
<@shiro.guest>
您当前是游客,<a href="javascript:void(0);" class="dropdown-toggle qqlogin" >登录</a>
</@shiro.guest>

user(已经登录,或者记住我登录)
<@shiro.user>
欢迎[<@shiro.principal/>]登录,<a href="/logout.shtml">退出</a>
</@shiro.user>

authenticated(已经认证,排除记住我登录的)
<@shiro.authenticated>
用户[<@shiro.principal/>]已身份验证通过
</@shiro.authenticated>

.notAuthenticated(和authenticated相反)
<@shiro.notAuthenticated>
当前身份未认证(包括记住我登录的)
</@shiro.notAuthenticated>

return new SimpleAuthenticationInfo(user,user.getPswd(), getName());
new SimpleAuthenticationInfo(第一个参数,....)的第一个参数放的如果是一个username,那么就可以直接用 <@shiro. principal/> 取到username
如果第一个参数放的是对象,比如我喜欢放User对象。那么如果要取username字段。 <@shiro.principal property="username"/> 需要指定property-

判断是否拥有这个角色
<@shiro.hasRole name="admin">
用户[<@shiro.principal/>]拥有角色admin<br/>
</@shiro.hasRole>

判断是否拥有这些角色的其中一个
<@shiro.hasAnyRoles name="admin,user,member">
用户[<@shiro.principal/>]拥有角色adminusermember<br/>
</@shiro.hasAnyRoles>

.lacksRole标签(判断是否不拥有这个角色)
<@shiro.lacksRole name="admin">
用户[<@shiro.principal/>]不拥有admin角色
</@shiro.lacksRole>

hasPermission标签(判断是否有拥有这个权限)
<@shiro.hasPermission name="user:add">
用户[<@shiro.principal/>]拥有user:add权限
</@shiro.hasPermission>

lacksPermission标签(判断是否没有这个权限)
<@shiro.lacksPermission name="user:add">
用户[<@shiro.principal/>]不拥有user:add权限
</@shiro.lacksPermission>

转载于:https://my.oschina.net/sprouting/blog/2252818

相关文章:

  • 企业该分多少钱给员工?看柏明顿阿米巴奖金分配方案
  • Ubuntu下部署java JDK和eclipse IDE
  • Docker镜像的目录存储讲解
  • SpringBoot中Mybaties PageHelper插件使用
  • Pop - Facebook 开源 iOS OS X 动画库
  • 一个程序员的自白(延迟满足)
  • Apache ab 压力测试
  • 依赖注入框架 InversifyJS
  • 10.30T2 二分+前缀和(后缀和)
  • 数据流的压缩、编码及传递困扰
  • Linux基础命令---mkisofs
  • Linux iptables开放特定端口
  • (原创)Stanford Machine Learning (by Andrew NG) --- (week 9) Anomaly DetectionRecommender Systems...
  • 线段树模板
  • KVO的使用
  • 【跃迁之路】【669天】程序员高效学习方法论探索系列(实验阶段426-2018.12.13)...
  • 2017届校招提前批面试回顾
  • android百种动画侧滑库、步骤视图、TextView效果、社交、搜房、K线图等源码
  • bearychat的java client
  • codis proxy处理流程
  • css选择器
  • ECMAScript入门(七)--Module语法
  • export和import的用法总结
  • iOS | NSProxy
  • iOS小技巧之UIImagePickerController实现头像选择
  • JavaScript 基本功--面试宝典
  • java取消线程实例
  • LeetCode541. Reverse String II -- 按步长反转字符串
  • PAT A1017 优先队列
  • python学习笔记-类对象的信息
  • Terraform入门 - 3. 变更基础设施
  • vue:响应原理
  • webgl (原生)基础入门指南【一】
  • 案例分享〡三拾众筹持续交付开发流程支撑创新业务
  • 程序员该如何有效的找工作?
  • 短视频宝贝=慢?阿里巴巴工程师这样秒开短视频
  • 力扣(LeetCode)22
  • 浅谈JavaScript的面向对象和它的封装、继承、多态
  • 京东物流联手山西图灵打造智能供应链,让阅读更有趣 ...
  • #我与Java虚拟机的故事#连载13:有这本书就够了
  • $ is not function   和JQUERY 命名 冲突的解说 Jquer问题 (
  • (2015)JS ES6 必知的十个 特性
  • (4) openssl rsa/pkey(查看私钥、从私钥中提取公钥、查看公钥)
  • (六)库存超卖案例实战——使用mysql分布式锁解决“超卖”问题
  • (十)T检验-第一部分
  • (五) 一起学 Unix 环境高级编程 (APUE) 之 进程环境
  • (一)硬件制作--从零开始自制linux掌上电脑(F1C200S) <嵌入式项目>
  • (转)EOS中账户、钱包和密钥的关系
  • .bat批处理(十):从路径字符串中截取盘符、文件名、后缀名等信息
  • .bat批处理(十一):替换字符串中包含百分号%的子串
  • .NET CLR Hosting 简介
  • .Net Core与存储过程(一)
  • ?
  • @media screen 针对不同移动设备
  • @RequestMapping 的作用是什么?