liferay新增权限(二)

接着(一)讲,在做持久化的时候会在新增的portlet包下面有一个service包(参考自动生成持久化代码那篇文章),增加一个名为permission的包,增加orderPermission.java,内容如下:

public static void check(
PermissionChecker permissionChecker, long plid, long categoryId,
String actionId)
throws PortalException, SystemException, Exception {

if (!contains(permissionChecker, plid, categoryId, actionId)) {
throw new PrincipalException();
}
}

public static void check(
PermissionChecker permissionChecker, long categoryId,
String actionId)
throws PortalException, SystemException, Exception {

if (!contains(permissionChecker, categoryId, actionId)) {
throw new PrincipalException();
}
}

public static void check(
PermissionChecker permissionChecker, CategoryEntry category,
String actionId)
throws PortalException, SystemException {

if (!contains(permissionChecker, category, actionId)) {
throw new PrincipalException();
}
}

public static boolean contains(
PermissionChecker permissionChecker, long pld, long categoryId,
String actionId)
throws PortalException, SystemException, Exception {

if (categoryId == ProductCategoryUtil.DEFAULT_PARENT_CATEGORY_ID) {
return PortletPermissionUtil.contains(
permissionChecker, pld, "PROTLET_NAME", actionId);
}
else {
return contains(permissionChecker, categoryId, actionId);
}
}

public static boolean contains(
PermissionChecker permissionChecker, long categoryId,
String actionId)
throws PortalException, SystemException, Exception {

CategoryEntry category =
CategoryEntryServiceUtil.findByPrimaryKey(categoryId);

return contains(permissionChecker, category, actionId);
}

public static boolean contains(
PermissionChecker permissionChecker, CategoryEntry category,
String actionId)
throws PortalException, SystemException {

return permissionChecker.hasPermission(
category.getGroupId(), CategoryEntry.class.getName(),
category.getCategoryId(), actionId);
}
一个check对应一个contains,两个用在不同的场合,check用在后台持久化操作时候会抛出一个权限不足的错误,而contains用在JSP只是用来验证权限的.其实可以看出最后都是调用permissionChecker.hasPermission方法的,四个参数:1社区ID,2元素class名,3主键,4所操作的权限(要和order.xml中定义的权限名相同).还有一个PortletPermissionUtil.contains方法,这个是用来验证当前portlet操作权限的,他有四个参数:1permissionChecker,2当前layout.getPlid(),3portlet名,4所操作权限.
至于里面的参数的获得可以参照一下liferay原码中的shopping card,这个里面有这些参数的获得方法.有这个权限后,就可以把权限控制到每一个元素上.
【博弈论基础与几大经典模型】古诺模型、斯塔克尔伯格模型Stackelberg Game、价格领导模型、Bertrand模型、Sweezy模型 博弈论中经典模型☞古诺模型、斯塔克尔伯格模型、价格领导模型等 阅读详情

相关推荐

UE4_UE5 自定义简单水材质(UE材质图表大全1)

首先是材质的颜色节点、粗糙度节点、透明度节点。(1/2/3/4键+右键空白处,可创建一/二/三/四维节点)接着是两个法线波动节点的叠加。最后是折射节点,将fresnel菲涅尔节点连接到材质结果节点的折射输入端。到这里,你基本已经实现了一个波纹流动的水材质。后续我会更新加上海面浪花的水面材质,可以到我的专栏中寻找。有问题随时私信沟通,加油❤。

shanlinhan的博客 1985

liferay开发小总

通过近一个半月的学习,对liferay的整体开发结构有了初步了解.liferay的开发主要分为:  1、 应用组件开发。其中应用组件中包含功能开发、显示内容开发(portlet的JSP页面的内容显示部分),显示样式开发(portlet内容的显示样式)。功能开发主要设计到数据库操作(查询、删除、增加等)、portlet的权限开发。 2、主题开发(整个页面的显示效果) 3、布局开发 4、权限开发   ...

hatlar1的专栏 300

RV1126 ISP开发实战:从Tuner调试到IQ文件解析

本文详细介绍了RV1126 ISP开发的完整流程,从Tuner调试到IQ文件解析,涵盖了环境搭建、工具使用、参数配置及性能优化等关键环节。通过实战案例和避坑指南,帮助开发者快速掌握Rockchip芯片的ISP开发技巧,提升图像处理质量。

weixin_29195615的博客 572

liferay6.2系统管理员篇-liferay的内容管理系统WCM来进行站点快速建立

文章来源: www.idatafox.com   配套视频: http://ke.qq.com/cgi-bin/courseDetail? course_id=83481 当你登陆进入Liferay看到的是默认的站点页面,但是你需要注意的是这个页面可以适合所有类型的客户端访问,而不仅仅是来自桌面的客户端用户。 当设计页面的时候,liferay包括了预览功能,可以

elearn007的专栏 1553

日前日内多阶段多时间尺度源荷储协调调度(matlab代码)

多阶段多时间尺度的协调调度的优势是考虑新能源出力的波 动性与随机性,需求响应负荷的不确定性会对电网制定的日前调度计划准确性造成影响,也就是能够更加精准的进行调度和分析,优化结果的可用性更强。在这方面论文里面,金力的《考虑特性分布的储能电站接入的电网多时间尺度源储荷协调调度策略》就考虑了日前日内实时三个阶段调度,每个阶段考虑了不同负荷需求响应策略,同时考虑了负荷波动性的影响,具有很强的参考意义。 目录 一、模型 二、程序运行 三、程序链接 一、模型 负荷需求响应考虑电价型和激励型两种,电.

zhangxd212489的博客 7915

matlab特征提取和分类_SAST Weekly|MATLAB机器学习初探——做个心音分类器

SAST weekly 是由电子工程系学生科协推出的科技系列推送,内容涵盖信息领域技术科普、研究前沿热点介绍、科技新闻跟进探索等多个方面,帮助同学们增长姿势,开拓眼界,每周更新,欢迎关注!欢迎愿意分享知识的同学投稿至 eesast@mail.tsinghua.edu.cn , 期待你的作品!本期的SAST weekly,想跟大家分享一下如何用MATLAB进行初步的机器学习,构建一个正常/...

weixin_36453829的博客 5580

Liferay根据用户权限登陆后跳转到不同页面

场景:Liferay用户登录之后,自动根据不同的角色,跳转到不同的页面。 原理:创建Hook,根据用户信息查找其权限列表,从而达到登陆后跳转到不同的页面目的。 环境:Liferay7.0 步骤: 使用Liferay的IDE工具,创建Liferay Plugin Project,类型选择hook,创建项目。 然后在项目下创建Liferay Hook Configuration,hook t...

kyq_1024yahoocn的博客 1343

ESP32 WIFI 智能巡线小车设计与实现(四足 / 四轮通用)

本文设计的 ESP32 WIFI 智能巡线小车,硬件模块化、软件轻量化,兼容四足与四轮两种结构,实现了自动巡线与 WIFI 远程控制双功能。系统成本低、易上手,适合嵌入式初学者学习 WIFI 通信、传感器应用、运动控制等核心知识点,也可在此基础上扩展蓝牙控制、避障、视觉识别等功能。

weixin_42300449的博客 152

Liferay访问时,根据不同用户角色跳转到不同登陆页面

应用场景: Liferay访问时,根据不同用户角色跳转到不同登陆页面,例如拥有管理员角色的用户登陆后跳转到控制台,而普通用户登陆后跳转到门户首页。 解决思路: 使用Liferay的hook,当用户登录时,修改用户的访问路径 解决步骤: 一、创建hook工程,并在hook工程下创建hook组件 二、配置不同角色用户的访问路径 重写ru

MOONCOM的博客 2922

Exchange Server 2013 运维系列——邮箱配额设置(管理中心)

邮箱配额需要设置三个参数: 1、发出警告限制:表示在向用户发出警告之前的最大存储限制。如果邮箱大小达到或超过指定值,Exchange 将向邮箱用户发送警告消息。 2、禁止发送限制:表示邮箱的“禁止发送”限制。如果邮箱大小达到或超过指定的限制,Exchange 将阻止邮箱用户发送新邮件,并显示一条描述性错误消息。 3、禁止发送和接收限制:表示此邮箱的“禁止发送和接收”限制。如果邮箱大小

白昼的技术专栏 1万+

03 Token、Embedding、上下文窗口:开发者必须懂的三个基本概念

Token、Embedding 和上下文窗口是大模型应用开发的三个基础概念。本文从成本、速度、检索和上下文设计四个角度讲清它们的工程意义,帮助开发者理解为什么同一段内容会超限、变贵,为什么 RAG 能做语义检索。

老于的笔记的专栏 409

Liferay:Liferay的权限系统

要在自己的portlet中客户化定义Liferay的权限的话,需要做四步工作。 1. 定义所有的资源和他们的权限。 2. 在权限系统中注册在第一步中定义的所有的资源。 3. 对资源分配必要的权限。 4. 在程序中需要使用资源的地方先判断权限。 下面以blog为例。 1. 首先是资源和权限的定义。参考/liferay-portal-src-6.0.X/portal-impl/sr

步行者的专栏 4740

YOLOv26详解 | 一文带你从代码角度深入理解ultralytics最新作品yolov26的创新 | 训练、推理、验证、导出 (附网络结构图PPT可用,全网最全)

YOLOv26带来多项创新:1)采用双检测头机制(One-to-Many和One-to-One)实现端到端无NMS推理;2)移除DFL简化边界框回归;3)引入ProgLoss+STAL优化小目标检测;4)使用MuSGD优化器提升训练稳定性。网络结构方面,SPPF模块增加shortcut连接,并在C3k2中引入PSABlock注意力机制。该版本更注重实际部署,简化了推理流程,提升硬件兼容性。教程涵盖模型训练、验证、推理及导出全流程,支持多种格式转换如ONNX、TensorRT等,适合工业应用场景。

Snu77的博客 4068

Liferay权限管理的讲解

 这篇文章讲解了liferay中使用的权限管理系统的内部细节,涉及到数据库表以及实体之间的管理和权限管理的逻辑。 下面的ERD图(实体关图)展现了所有涉及到的实体关系: 主要实体 首先从表或者本人更喜欢称作实体的表开始,换言之,他们界定的实体定义了关于权限和角色的东东。 User_:用户 最明显主要的一个实体就是“用户”(Users)了。关于权限的一个总是被提及的问题是:"Does t

内拉祖里的专栏 2087

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

liferay 权限

liferay的权限很多资料说是资源加行为即权限。对这个不实际应用还真是把握不好。 资源是有范围的:1到4,由大到小,1公司,2社区3角色4实例 对于角色的权限定义,在角色管理,选中某个portlet资源(门户的定义也是portlet,portlet name 'portal',id是90),资源范围是3,关联表式roles_permission,资源的主键是0,截图权限1.bmp为证。 对...

JLife 雅致 博大 精深 157

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Liferay权限的客户化设置的一些小提示

Liferay的权限设置做的挺好的。不过默认的话,感觉设置的项目太多了。 那么多role都需要check的话也是一个不小的工作量。可能在具体的系统中,我们有一个固定的权限逻辑。 比如高权限自动包含低权限等等。   在自己的action中设置权限的话了解几个地方就能很好的编程了。 1. 权限数据的登录    比如文件库portlet中action中加入如下代码。com.liferay.p

步行者的专栏 2300

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

liferay的权限控制

liferay 的资源的权限控制可以针对portlet资源、java类、上传资源进行控制。资源关键表:资源关键表:resourcecode:代表需要控制资源的类型。  name:代表资源的实际类型如portlet资源为portletId,java完整的类名。Scope = 1 用于Regular Role,表示Enterprise范围,当前企业的所有社区的所有页面;Scope = 2 用于 Regular Role,表示Community范围,当前社区的所有页面;Scope = 3 用于 Community

changshengyo的专栏 661

Liferay Portal 的权限控制代码(部分)

com.liferay.portal.kernel.portlet.LiferayPortlet.StrutsPortlet中获取方式: PermissionChecker permissionChecker = PermissionThreadLocal.getPermissionChecker(); com.liferay.portlet.journal.service.permission.JournalArticlePermission 页面中: Jou

liuxiIT的专栏 3929

liferay权限研究

 摘自:张老三专栏liferay中权限相关对象的关系图: liferay权限关系图 图中浅蓝底的对象表示一个多对多关系的中间表,它只保存了关联表的主键, Resource表示一个可通过权限控制的资源,它可能是一个按钮,也可能是一个Portlet。 这个图的数据结构有些复杂,按常规处理的话必然会导致性能问题,接下来我们看看liferay是如何来处理这个问题的。在 /html/portl

lifesounds的专栏 1892

Liferay的一个奇怪的权限问题

近日发现一个奇怪的问题。一个Portlet,匿名用户访问没有问题,如果用户登陆后,反而出现权限问题,消息显示"您没有存取这portlet所需权限的角色"。7.1 源代码分析试图通过分析源代码,找出问题的原因。  查找资源文件you-do-not-have-the-roles-required-to-access-this-portlet=您没有存取这portlet所需权限的角色 。  查找"you

北冥有鱼 其名为鲲 化而为鸟 其名为鹏 1194

liferay新增权限(一)

liferay的很大一的一个特色就是权限,他的权限的确很棒,可以说帅的掉渣.首先在ext-impl/classes/下建一个文件夹resource-actions/default-ext.xml,假如我们要对数据库的order这个表做权限,那么我们再建一个order.xml,在default-ext.xml包含这个order.xml这个文件,如下: 所有新建的对象的权限文件都要包含...

Tyler_Zhou 203

Liferay 前世今生

Liferay是一个开源的企业级门户平台,基于Java语言和OSGi(开放服务网关接口)标准构建。它旨在提供一个集成化的平台来管理和展示多种Web应用、内容和服务。通过Liferay,企业能够构建可扩展、高度自定义的门户网站,提升业务流程的自动化、协作效率和用户体验。Liferay提供了功能丰富的工具,包括内容管理、工作流管理、身份认证与权限管理、社交功能等,同时它也支持跨平台、多语言和移动设备的适配,成为许多大型企业和组织的首选门户平台。

weixin_44954504的博客 1522

Liferay6组织、权限架构

在专门研究添加和维护各种门户资源的用户接口前,最好先了解下Liferay组织门户的一些概念。 1.Portal被用户访问。 2.用户可以添加到用户组。 3.用户可以属于组织。 4.组织可以分层,例如总办公室→区域办公室→附属办公室。 5.用户,用户组和组织可以属于有共同

Tyrone.Yang的专栏 5199

liferay 权限控制

源自:http://hi.baidu.com/suridea/blog权限控制是liferay4.0以后增加的新特性。在liferay中开发权限是一件很容易的事情,基本上都是通过定义xml来实现。首先,我们来看看给自己的portlet加上权限控制,主要要完成以下四步操作(DRAC):1. Define all resources and their permissions.先定义所

lifesounds的专栏 1968

关于liferay权限问题的说明

 权限控制是liferay4.0以后增加的新特性。在liferay中开发权限是一件很容易的事情,基上都是通过定义xml来实现。 默认的权限定义的xml文件放portal/portal-ejb/classes/resource-actions中首先,我们来看看给自己的portlet加上权限控制,主要要完成以下四步操作(DRAC):1. Define all resources a

Pretender 1114
上一篇: liferay新增权限(一)
下一篇: liferay工作流jbpm配置
iteye_4621
博客等级 码龄8年 1粉丝 6原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值