- 浏览: 295658 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (155)
- Liferay portal研究 (23)
- spring研究 (7)
- Displaytag (2)
- Flash Builder (0)
- 搜索引擎 (12)
- 杂项 (17)
- SCM管理 (7)
- Jquery (5)
- Linux (7)
- Oracle (10)
- httpd集成 (3)
- Maven2 (5)
- 企业管理 (1)
- tomcat高级 (4)
- dos命令 (1)
- ldap (2)
- Java (8)
- webservice (1)
- jetty代码研究 (3)
- OpenCMS (1)
- JMX (2)
- hibernate (5)
- Ant (1)
- js tree (4)
- Quartz (0)
- CMS (1)
- springside (1)
- proxool (1)
- freemarker (1)
- Cookie (1)
- CAS SSO (4)
- mysql (1)
- php (1)
- js (2)
- Asset (1)
- openmeeting (1)
- h2数据库 (2)
- wcf vs java ws (1)
最新评论
-
22199143:
...
当在重启Tomcat容器时 Exception in Thread "HouseKeeper" java.lang.NullPointerException -
liuqq:
一直用Oracle开发,几乎没有接触过其他数据库。使用Mysq ...
The Nested Set Model -
yjsxxgm:
yjsxxgm 写道FFFFFFFFFFFFFFFWWW
java 访问wcf -
yjsxxgm:
FFFFFFFFFFFFFFF
java 访问wcf -
hjp222:
scanIntervalSeconds 是重新启动,并非真正的 ...
Jetty 热部署
liferay的权限很多资料说是资源加行为即权限。对这个不实际应用还真是把握不好。
资源是有范围的:1到4,由大到小,1公司,2社区3角色4实例
对于角色的权限定义,在角色管理,选中某个portlet资源(门户的定义也是portlet,portlet name 'portal',id是90),资源范围是3,关联表式roles_permission,资源的主键是0,截图权限1.bmp为证。
对于社区的权限定义,在社区管理里边,选中某个portlet,此时资源范围是2,和角色不同的是,此时资源的id是社区的groupid,并没有在groups_permissions表中添加关联记录。
对于公司范围的资源的权限定义,资源id是公司的id
==========================================================
版本:4.3.4企业版
1.用户所关联实体(社区、组织、用户组、角色、及他们之间的关联体):
com.liferay.portal.service.persistence.GroupFinder.countByGroupId:
SELECT
COUNT(*) AS COUNT_VALUE
FROM
Group_
INNER JOIN
Users_Groups ON
(Users_Groups.userId = ?)
WHERE
(Group_.liveGroupId = 0) AND
(Users_Groups.groupId = Group_.groupId)
(Group_.groupId = ?) AND
(Group_.liveGroupId = 0)
2.资源及权限查找:
资源有四种范围:
对于范围是4的资源,资源的primky是业务对象的id
对于范围是2的资源,资源的primky是权限验证相关的groupid,一般是社区
对于范围是3的资源,资源的primky是GroupImpl.DEFAULT_PARENT_GROUP_ID,即0
对于范围是3的资源,资源的primky是companyId公司id
所以要查找四个范围的资源
3.权限验证:
以下是liferay默认的用户权限运算规则要权限检查的对象,对应的表很好找,使用customersql的方式查询
com.liferay.portal.service.persistence.PermissionFinder.countByGroupsRoles:
com.liferay.portal.service.persistence.PermissionFinder.countByGroupsPermissions:
com.liferay.portal.service.persistence.PermissionFinder.countByUsersRoles:
com.liferay.portal.service.persistence.PermissionFinder.countByUserGroupRole:
com.liferay.portal.service.persistence.PermissionFinder.countByUsersPermissions:
SELECT
COUNT(*) AS COUNT_VALUE
FROM
Groups_Roles
INNER JOIN
Roles_Permissions ON
(Roles_Permissions.roleId = Groups_Roles.roleId)
INNER JOIN
Permission_ ON
(Permission_.permissionId = Roles_Permissions.permissionId)
WHERE
(Roles_Permissions.permissionId=?) AND
(Groups_Roles.groupId=?)
Union all(
SELECT
COUNT(*) AS COUNT_VALUE
FROM
Permission_
INNER JOIN
Groups_Permissions ON
(Groups_Permissions.permissionId = Permission_.permissionId)
WHERE
(Groups_Permissions.permissionId=?) AND
(Groups_Permissions.groupId=?)
)
union all(
SELECT
COUNT(*) AS COUNT_VALUE
FROM
Users_Roles
INNER JOIN
Roles_Permissions ON
(Roles_Permissions.roleId = Users_Roles.roleId)
INNER JOIN
Permission_ ON
(Permission_.permissionId = Roles_Permissions.permissionId)
WHERE
(Roles_Permissions.permissionId=?) AND
(Users_Roles.userId = ?)
)
union all(
SELECT
COUNT(*) AS COUNT_VALUE
FROM
UserGroupRole
INNER JOIN
Roles_Permissions ON
(Roles_Permissions.roleId = UserGroupRole.roleId and UserGroupRole.groupId = ?)
INNER JOIN
Permission_ ON
(Permission_.permissionId = Roles_Permissions.permissionId)
WHERE
(Roles_Permissions.permissionId=?) AND
(UserGroupRole.userId = ?)
)
union all(
SELECT
COUNT(*) AS COUNT_VALUE
FROM
Permission_
INNER JOIN
Users_Permissions ON
(Users_Permissions.permissionId = Permission_.permissionId)
WHERE
(Users_Permissions.permissionId=?) AND
(Users_Permissions.userId = ?)
)
发表评论
-
ogl的入门
2010-03-30 08:24 1415http://jxb8901.iteye.com/blog/2 ... -
jaas 入门
2010-03-04 17:10 1909本例是认证的实现,JAAS定义了可插拔的认证机制,使认证逻辑独 ... -
JAAS HelloWorld
2010-03-04 17:09 1263Examples: JAAS HelloWorld Thes ... -
liferay sso
2010-01-28 16:18 2334基于Liferay的CAS SSO ... -
liferay多数据源
2009-12-15 15:46 1786Configure MySQL Master/Slave ... -
杂项2
2009-11-18 21:44 919function <portlet:namespace ... -
Simple Apache CXF web service integration
2009-11-18 20:24 1198For those who wants to use the ... -
LiferayCounter机制
2009-10-24 14:08 1056public long increment(String na ... -
lifery 老的资源
2009-10-23 14:40 876http://docs.liferay.com/portal/ ... -
liferay portal 的开发目录结构
2009-10-17 11:59 1730portal-kenel.jar 不依赖任何非标准jar(只依 ... -
liferay 常用urls
2009-10-16 22:43 954http://blog.csdn.net/smilingleo ... -
liferay 调用webservice
2009-10-16 22:34 4546Liferay是基于SOA理念设计的,很容易通过Web Ser ... -
Database Sharding
2009-10-15 12:40 1591Database sharding is a way of s ... -
Liferay权限管理的讲解
2009-10-12 21:37 1541这篇文章讲解了liferay中使用的权限管理系统的内部细节,涉 ... -
ServiceContext Pattern
2009-10-12 21:30 1034The Service Context is an objec ... -
Liferay性能调优
2009-10-12 21:25 2204CONTRIBUTIONS WANTED Corné|Corn ... -
Liferay重要对象-Layout
2009-10-12 21:19 2223A layout is an instance of a si ... -
liferay常用配置
2009-10-12 20:47 1165在实际需求中,如果是做网站那我们有时候会有这样的需求,即希望用 ... -
liferay学习系列(3)
2009-10-11 20:16 1250在一个Portlet中链接到另一个Portlet 这个问题,应 ... -
liferay学习系列(2)
2009-10-07 20:31 6967想做个用户积分管理,类似于论坛积分的概念,首先在用户管理里面添 ...
相关推荐
Liferay权限系统是一个复杂而精细的框架,它在不同版本中有所变化,但在Liferay 6.1.1和Liferay 7中保持了相似的结构。理解Liferay权限的关键在于掌握其基本概念,包括用户、用户组、角色、组织、站点以及团队。 1....
### Liferay权限文件说明 #### 一、概述 在Liferay平台中,权限管理是非常重要的一个环节,它确保了系统的安全性和数据的访问控制。本文档主要介绍的是`permissions.xml`文件及其相关配置,这对于理解如何在...
在“Liferay权限文档”中,我们将深入探讨这一主题。 Liferay的权限系统基于角色(Roles)、组织(Organizations)、群组(Groups)和资源(Resources)的概念。角色定义了一组权限,可以分配给用户或群组,从而...
### Liferay权限管理详解 #### 一、企业管理与权限层级 Liferay的权限管理系统非常强大且灵活,能够满足企业级应用对于用户权限控制的各种需求。本文档将详细解析Liferay内部的权限管理模型及其运作机制。 ##### ...
在Liferay权限开发中,权限模型是核心概念之一。Liferay定义权限为针对特定资源的操作行为,这使得系统能够判断用户是否被授权执行特定动作。资源(Resource)是权限系统中的基本元素,它可以是Portlet、Page、...
本文将详细解析Liferay权限系统的构建机制,以及如何通过代码实现自定义权限控制,确保应用的安全性和用户访问的合理性。 ### Liferay权限系统概述 Liferay的权限模型基于角色(Role)、组织(Organization)、群组...
### Liferay权限管理系统详解 #### 一、Liferay权限概述 Liferay的权限管理系统非常强大且灵活,能够满足企业级应用程序对于用户权限控制的各种需求。本节将详细介绍Liferay权限模型的基本组成部分及其工作原理。 ...
Liferay权限管理系统是Liferay门户平台的核心组成部分,用于控制用户对平台内容和功能的访问。这一系统基于严格的层次结构和角色分配,确保了资源的安全性和访问的灵活性。 1. **权限管理层次**: - **企业管理...
Liferay权限结构是Liferay门户平台中核心的安全机制,它负责控制用户对系统资源的访问和操作。本文档主要针对Liferay的权限系统进行了深入解析,旨在为初学者提供详尽的指导。 首先,我们要理解Liferay权限的定义。...
Liferay权限管理系统是Liferay Portal的核心组件之一,用于管理和控制平台内的访问控制和操作权限。在Liferay中,权限管理的基石是资源的概念,资源可以是portlet、功能按钮或其他可操作的对象。理解权限分配首先...
对于高级用户而言,理解Liferay权限框架的深层次原理将有助于优化权限管理策略: 1. **社区与企业权限的区别**:社区权限通常限制在一个特定的社区范围内,而企业权限则适用于整个组织层级。例如,企业权限可以视为...
Portlet管理是Liferay权限体系中的一个重要组成部分。每个Portlet都有其必要的角色需求,这些角色定义了谁可以查看、配置或管理该Portlet。在“Enterprise Admin Portlet”中,管理员可以修改Portlet的角色需求,以...
介绍了Liferay的权限管理方面的知识。
### Liferay权限管理系统详解 Liferay是一款开源的企业级门户平台,提供了一系列强大的工具和服务,用于构建和管理企业网站、社区和应用程序。其中,权限管理是其核心功能之一,旨在帮助企业控制用户对不同资源的...
"liferay_permissions.rar_liferay"这个压缩包可能包含的就是Liferay权限系统的数据库结构图,这对于理解Liferay的权限管理机制至关重要。 Liferay的权限系统基于Spring Security(原Acegi Security)框架,采用ACL...
### Liferay 6.1 权限管理深度解析 #### 一、权限管理概述 Liferay 6.1 的权限管理是一项重要的功能,它确保了门户的安全性和灵活性。权限管理主要包括用户管理、组织机构管理、站点管理和角色管理等多个方面。...
【Liferay系统权限分配】是Liferay Portal平台中一项核心功能,它允许管理员根据业务需求精细控制用户对系统资源的访问。Liferay的权限模型基于角色(Role)和资源(Resource),通过角色来分配和管理权限,使得权限...
测试人员-liferay-权限 这是用于测试 Liferay 权限系统和性能的示例应用程序。 有三个使用 ResourceBlock Permissions 的 porlets Foo 和使用普通 ResourcePermissions 的 Bar。 编译: mvn 包 部署: 将战争...
在Liferay Portal中,权限管理是系统的核心组成部分,它允许管理员根据不同的角色和用户组定制访问和操作的权限。Liferay的权限系统基于面向对象编程的继承概念,以确保资源的管理和访问控制既灵活又安全。 1. ...
liferay的权限时序图,给大家共享一下,希望大家批评指正,沟通。