Liferay中页面的权限控制

简介:

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

 

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

 
 
  1. <liferay-theme:defineObjects/> 

 

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

 
 
  1. <!-- charles:determine whether the current has the admin privilege --> 
  2.  
  3. <
  4.  
  5.                 boolean hasAdminPrivilegefalse
  6.  
  7.                 List<Role> useruserRoles = user.getRoles(); 
  8.  
  9.                 for (Role role :userRoles){ 
  10.  
  11.                                 if("Administrator".equals( role.getName().trim()) ){ 
  12.  
  13.                                                 hasAdminPrivilege=true
  14.  
  15.                                                 break; 
  16.  
  17.                                 } 
  18.  
  19.                 } 
  20.  
  21.                 
  22.  
  23. %> 
  24.  
  25.   

 

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

 
 
  1. <!-- charles:make conclusion that only the Administrator can view the delete button  --> 
  2.  
  3.   
  4.  
  5. <c:if test="<%=hasAdminPrivilege %>"> 
  6.  
  7.   
  8.  
  9.                 <!--  the first time when adminstrator goes to the view mode, he can't see the delete button --> 
  10.  
  11.                 <!--  because now nothing uploaded ,how it can delete from web server--> 
  12.  
  13.                 <!--  but after uploaded (heml_url !=null) ,then the delete button is visible to administrator --> 
  14.  
  15.                 <c:if test="${html_url != null }"> 
  16.  
  17.                 
  18.  
  19.                 <form action="<portlet:actionURL name="deleteInstance"/>" method="post" name="<portlet:namespace />" class="rs-form">               
  20.  
  21.                                       <input type="submit" value="Delete" class="del"/> 
  22.  
  23.                 </form> 
  24.  
  25.                 
  26.  
  27.                 </c:if> 
  28.  
  29.                 
  30.  
  31. </c:if> 
  32.  




本文转自 charles_wang888 51CTO博客,原文链接:http://blog.51cto.com/supercharles888/989593,如需转载请自行联系原作者

目录
相关文章
|
8月前
|
存储 数据安全/隐私保护 网络架构
vue3用户权限管理(导航栏权限控制)2
上一节我们说到,通过后端的用户权限来进行路由的动态添加,实现权限控制,这一节我们通过递归导航栏组件,实现后台权限控制导航栏,接上一节所说我们在vuex中存储了一个路由数组["/","*"]进行权限控制,这一节还是要使用这个路由数组进行导航栏的控制,开始吧。
195 0
|
数据安全/隐私保护
fastadmin是如何设置没有权限的用户不能访问某些页面的?
fastadmin是如何设置没有权限的用户不能访问某些页面的?
521 0
|
5月前
|
Android开发
【Azure 环境】移动应用 SSO 登录AAD, MSAL的配置为Webview模式时登录页面无法加载
【Azure 环境】移动应用 SSO 登录AAD, MSAL的配置为Webview模式时登录页面无法加载
|
6月前
|
JavaScript 数据安全/隐私保护
vue 页面权限控制、按钮权限控制
vue 页面权限控制、按钮权限控制
36 0
|
6月前
|
监控 数据安全/隐私保护
若依修改---功能详解--权限控制,demo超级管理员,可以查看所有功能菜单,zhangsan,登录之后,仅可以查看线索的菜单,不同角色岗位,登录查看的内容不同,若依通过用户管理,角色管理,菜单管理控
若依修改---功能详解--权限控制,demo超级管理员,可以查看所有功能菜单,zhangsan,登录之后,仅可以查看线索的菜单,不同角色岗位,登录查看的内容不同,若依通过用户管理,角色管理,菜单管理控
|
8月前
|
JavaScript 安全 前端开发
Vue 项目中的权限管理:让页面也学会说“你无权访问!
Vue 项目中的权限管理:让页面也学会说“你无权访问!
253 3
|
JavaScript 数据安全/隐私保护
Vue 页面权限控制和登陆验证
Vue 页面权限控制和登陆验证
78 0
|
JavaScript 前端开发 数据安全/隐私保护
Vue权限路由[菜单权限/按钮权限控制]
后台管理系统 主要的 是 ` 角色权限管理` , ` 按钮权限管理` 和 ` 菜单管理` , 其它的业务主要围绕在这个基础之上进行扩展,最终 构成了` 符合业务的后台管理系统`.
381 0
JavaWeb - 404、500 页面配置
JavaWeb - 404、500 页面配置
167 0
JavaWeb - 404、500 页面配置
|
前端开发 关系型数据库 数据安全/隐私保护
SpringBoot-Security-用户权限分配-查找用户的菜单权限
本章实现的功能是,某个用户登录时,如何查找该用户的菜单权限 Spring security认证过程 1、用户使用用户名和密码进行登录。2、Spring Security将获取到的用户名和密码封装成一个实现了Authentication接口的UsernamePasswordAuthenticationToken。
6422 0