在Liferay中,如果我们想要在页面上进行权限控制,比如只有指定权限的用户能看到一些内容,那么我们可以用Liferay预定义的user对象来获取这个对象所拥有的权限,然后再控制页面的显示.

为了在liferay页面上使用user对象,我们必须加入标记库:

  1. <liferay-theme:defineObjects/>

然后我们可以在页面上,直接使用user对象,来控制权限,比如我们可以将当前用户是否为管理员用户的存入到一个布尔变量中,如下:

  1. <!-- charles:determine whether the current has the admin privilege -->
  2. <%
  3. boolean hasAdminPrivilege= false;
  4. List<Role> useruserRoles = user.getRoles();
  5. for (Role role :userRoles){
  6. if("Administrator".equals( role.getName().trim()) ){
  7. hasAdminPrivilege=true;
  8. break;
  9. }
  10. }
  11. %>

然后我们在页面中使用这个布尔变量值来控制显示和不显示某些元素,比如我们的例子中,只有管理员用户才可以看到和操作有"Delete"按钮的表单:

  1. <!-- charles:make conclusion that only the Administrator can view the delete button  -->
  2. <c:if test="<%=hasAdminPrivilege %>">
  3. <!--  the first time when adminstrator goes to the view mode, he can't see the delete button -->
  4. <!--  because now nothing uploaded ,how it can delete from web server-->
  5. <!--  but after uploaded (heml_url !=null) ,then the delete button is visible to administrator -->
  6. <c:if test="${html_url != null }">
  7. <form action="<portlet:actionURL name="deleteInstance"/>" method="post" name="<portlet:namespace />" class="rs-form">
  8. <input type="submit" value="Delete" class="del"/>
  9. </form>
  10. </c:if>
  11. </c:if>
本文转自 charles_wang888 51CTO博客,原文链接:http://blog.51cto.com/supercharles888/989593,如需转载请自行联系原作者

Liferay中页面的权限控制相关推荐

  1. 在项目中应用SpringSecurity权限控制

    在项目中应用SpringSecurity权限控制 要进行认证和授权需要前面课程中提到的权限模型涉及的7张表支撑,因为用户信息.权限信息.菜单信息.角色信息.关联信息等都保存在这7张表中,也就是这些表中 ...

  2. Vue 前端页面按钮权限控制

    前言 按钮权限控制的功能其实在前面的一篇的页面权限管理也包含有这个功能,但是没有凸显出来,所以现在单独写一篇文章用来记录一下 一.什么是按钮权限控制? 刚刚做完了一个后台管理系统,有用到按钮权限控制, ...

  3. Security中常见的权限控制方式

    本文来说下Security中常见的四种权限控制方式 文章目录 概述 概述

  4. 认真学习MySQL中的角色权限控制

    [1] 权限管理 关于MySQL的权限简单的理解就是MySQL运行你做你权力以内的事情,不可以越界.比如只允许你执行select操作,那么你就不能执行update操作.只允许你从某台机器上连接MySQ ...

  5. private访问权限java_Java中的访问权限控制

    Java提供了public, private, protected 三个访问权限修饰词,提供了以下四种访问权限控制机制: 1.包访问权限: 2.Public访问权限: 3.Private访问权限: 4 ...

  6. linux所请求的操作需要超级用户权限,详解Linux系统中的root权限控制

    在Linux操作系统中,root的权限是最高的,也被称为超级权限的拥有者.普通用户无法执行的操作,root用户都能完成,所以也被称之为超级管理用户. 在系统中,每个文件.目录和进程,都归属于某一个用户 ...

  7. vue实现页面权限显示_Vue 实现前端权限控制

    登录&&权限流程图 前言 首先我们确定的权限控制分为三大部分,其中根据粒度大小分的更细: 登录权限控制 页面权限控制 菜单中的页面是否可以被访问 页面中的按钮 (增.删.改.查)的权限 ...

  8. 你不知道的前端·权限控制篇 之 中后台系统

    一.前言 你不知道的前端之--中后台系统的权限控制,总的来说可以分为两大类,页面权限与按钮权限. 如果说编程的职业道路就像是在游戏中打怪升级的话,那么走这个分支练级的童鞋,首先要面对的第一只劝退bos ...

  9. 通过shiro进行按钮及页面访问url的权限控制

    1.当面我们每次登录系统时,都会通过我们自己定义的继承AuthorizingRealm的ShiroRealm进行用户账号密码的确认以及拥有权限的查询: (1)自定义shiroReam: public ...

  10. spring boot security 权限用postman测试_Spring Security(五):前后端权限控制详解

    文章回顾: Spring Security(一):整合JWT实现登录功能 Spring Security(二):获取用户权限菜单树 Spring Security(三):与Vue.js整合 Sprin ...

最新文章

  1. opencv3.2 在Ubuntu下的编译安装
  2. 网站优化有什么值得注意的小细节吗?
  3. 易语言录入数据到access里重复提示_一招搞定:excel数据共享协同
  4. python中plot柱状图-python matplotlib模块: bar(柱状图)
  5. MySQL 隐式转换 字符串和整型说明
  6. arcgis js 地图打印_Arcgis在国土空间规划编制中的应用
  7. 领悟非凡,只有西方人才能做出来的效果。。。不是技术,而是人文和胸怀
  8. 基于shiro实现session持久化和分布式共享
  9. CCF 2014-3-1 相反数
  10. 这台计算机上缺少此项目引用的 NuGet 程序包,DotNetCompilerPlatform
  11. 潜意识、读懂行为、说服的艺术
  12. windows安装mysql修改密码_1、Windows下安装mysql-8.0.12及修改初始密码
  13. PHP大数加千分位符_php 千分位截取数字 number_format()函数
  14. python求斜边上的高_直角三角形斜边上的高如何求?
  15. IP-Guard申请外发流程说明
  16. Opencv访问图像像素的三种方法
  17. Ad hoc网络路由协议概述4——按需路由协议(2)AODV协议 (Ad-hoc on-demand distance vector algorithm protocol)
  18. LINE chatbot机器人开发
  19. 用Java写给女朋友,用加密算法给女朋友写封情书
  20. 机器学习(一元线性回归模型)

热门文章

  1. 在执行某个行为时,其大脑是否产生了对应的稳定脑神经模式映射?如果存在稳定映射,是否能运用机器学习方法发现未知行为神经回路?
  2. DSSM模型的原理简介,预测两个句子的语义相似度
  3. Python数据结构,线性结构:栈、队列、双端队列、列表
  4. prthon日期型、字符串、数值、时间戳相互转换
  5. linearlayout之margin和peddling
  6. 干货 | 各大AI研究院共35场NLP算法岗面经奉上
  7. 现代通信原理10.2:采用匹配滤波器的数字基带传输系统误码性能分析
  8. 机器学习,参数之-学习率设置
  9. ubuntu下安装matlab及配置vot-toolkit
  10. ML--K-近邻算法