- 浏览: 216991 次
- 性别:
- 来自: 湖北->上海
最新评论
-
苹果超人:
我也遇到这个问题,我想在ConfigurationAction ...
杀千刀的PortletPreferences -
flago:
Liferay 的论坛设置的默认显示多少条帖子怎么设置??
liferay中vm中如何调用java类代码 -
ofdata:
遭遇此问题
杀千刀的PortletPreferences -
yaokaiwen99:
大哥求一个简单的flexigrid在liferay中应用的例 ...
Liferay异步提交 -
gaigai511225:
你好 插件环境那个url 具体怎么写 我照您的方式写了出错 ...
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,这个里面有这些参数的获得方法.有这个权限后,就可以把权限控制到每一个元素上.
雪飞南国 19 分钟前
权限这块 我觉得你说的太粗了 liferay中所有的权限验证都是在围绕permissionChecker.hasPermission()转不管check也好(以及check调用的)contains也好。大家最好参考http: //docs.huihoo.com/liferay/4.3/portlet-development-guide/ch05.html这个,然后自己看看源码。
---------------------------------------------------------
你说的是对的,权限的核心就是permissionChecker这个类,在这里我只是讲了如何去用这个类按照liferay的操作方式来开发自已的权限,至这个类里面做了什么我这里并没有讲。简单说一下,他先是看缓存中有没有记录,没有再看是否登陆,然后再去找表resource_,resourceCode,最后才是permission表,在这个过程中他的判断分支是很多的,有兴趣大家可以去看一下他是怎么做的,这里我就不多讲了。
雪飞南国 19 分钟前
权限这块 我觉得你说的太粗了 liferay中所有的权限验证都是在围绕permissionChecker.hasPermission()转不管check也好(以及check调用的)contains也好。大家最好参考http: //docs.huihoo.com/liferay/4.3/portlet-development-guide/ch05.html这个,然后自己看看源码。
---------------------------------------------------------
你说的是对的,权限的核心就是permissionChecker这个类,在这里我只是讲了如何去用这个类按照liferay的操作方式来开发自已的权限,至这个类里面做了什么我这里并没有讲。简单说一下,他先是看缓存中有没有记录,没有再看是否登陆,然后再去找表resource_,resourceCode,最后才是permission表,在这个过程中他的判断分支是很多的,有兴趣大家可以去看一下他是怎么做的,这里我就不多讲了。
雪飞南国 19 分钟前
权限这块 我觉得你说的太粗了 liferay中所有的权限验证都是在围绕permissionChecker.hasPermission()转不管check也好(以及check调用的)contains也好。大家最好参考http: //docs.huihoo.com/liferay/4.3/portlet-development-guide/ch05.html这个,然后自己看看源码。
---------------------------------------------------------
你说的是对的,权限的核心就是permissionChecker这个类,在这里我只是讲了如何去用这个类按照liferay的操作方式来开发自已的权限,至这个类里面做了什么我这里并没有讲。简单说一下,他先是看缓存中有没有记录,没有再看是否登陆,然后再去找表resource_,resourceCode,最后才是permission表,在这个过程中他的判断分支是很多的,有兴趣大家可以去看一下他是怎么做的,这里我就不多讲了。
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,这个里面有这些参数的获得方法.有这个权限后,就可以把权限控制到每一个元素上.
评论
9 楼
flyingcn
2008-06-25
我真的真的真的很奇怪,博主太强了,你是怎么知道这些内容!
要不是看到你的这篇文章,我真的要自己重写系统了
要不是看到你的这篇文章,我真的要自己重写系统了
8 楼
雪飞南国
2008-04-15
我也是刚进公司学习这个东西,权限这块比较复杂。看得我头晕,幸好已有些眉目。你的文章也对我很有帮助。共同学习!~
7 楼
Tyler_Zhou
2008-04-14
http: //docs.huihoo.com/liferay/4.3/这个网址不错,我记下来了,对雪飞南国 表示感谢.
6 楼
Tyler_Zhou
2008-04-14
雪飞南国 19 分钟前
权限这块 我觉得你说的太粗了 liferay中所有的权限验证都是在围绕permissionChecker.hasPermission()转不管check也好(以及check调用的)contains也好。大家最好参考http: //docs.huihoo.com/liferay/4.3/portlet-development-guide/ch05.html这个,然后自己看看源码。
---------------------------------------------------------
你说的是对的,权限的核心就是permissionChecker这个类,在这里我只是讲了如何去用这个类按照liferay的操作方式来开发自已的权限,至这个类里面做了什么我这里并没有讲。简单说一下,他先是看缓存中有没有记录,没有再看是否登陆,然后再去找表resource_,resourceCode,最后才是permission表,在这个过程中他的判断分支是很多的,有兴趣大家可以去看一下他是怎么做的,这里我就不多讲了。
5 楼
Tyler_Zhou
2008-04-14
雪飞南国 19 分钟前
权限这块 我觉得你说的太粗了 liferay中所有的权限验证都是在围绕permissionChecker.hasPermission()转不管check也好(以及check调用的)contains也好。大家最好参考http: //docs.huihoo.com/liferay/4.3/portlet-development-guide/ch05.html这个,然后自己看看源码。
---------------------------------------------------------
你说的是对的,权限的核心就是permissionChecker这个类,在这里我只是讲了如何去用这个类按照liferay的操作方式来开发自已的权限,至这个类里面做了什么我这里并没有讲。简单说一下,他先是看缓存中有没有记录,没有再看是否登陆,然后再去找表resource_,resourceCode,最后才是permission表,在这个过程中他的判断分支是很多的,有兴趣大家可以去看一下他是怎么做的,这里我就不多讲了。
4 楼
Tyler_Zhou
2008-04-14
雪飞南国 19 分钟前
权限这块 我觉得你说的太粗了 liferay中所有的权限验证都是在围绕permissionChecker.hasPermission()转不管check也好(以及check调用的)contains也好。大家最好参考http: //docs.huihoo.com/liferay/4.3/portlet-development-guide/ch05.html这个,然后自己看看源码。
---------------------------------------------------------
你说的是对的,权限的核心就是permissionChecker这个类,在这里我只是讲了如何去用这个类按照liferay的操作方式来开发自已的权限,至这个类里面做了什么我这里并没有讲。简单说一下,他先是看缓存中有没有记录,没有再看是否登陆,然后再去找表resource_,resourceCode,最后才是permission表,在这个过程中他的判断分支是很多的,有兴趣大家可以去看一下他是怎么做的,这里我就不多讲了。
3 楼
雪飞南国
2008-04-14
权限这块 我觉得你说的太粗了 liferay中所有的权限验证都是在围绕permissionChecker.hasPermission()转 不管check也好(以及check调用的)contains也好。大家最好参考http://docs.huihoo.com/liferay/4.3/portlet-development-guide/ch05.html这个,然后自己看看源码。
2 楼
libin2722
2008-03-27
能不能再说得详细点,order表结构是什么样的,在后台和jsp页面是怎么调用呢?
1 楼
aaronfeng80
2008-02-19
不用自动生成持久化代码行吗?那些代码都是必需的吗?
发表评论
-
JSR 286 Portlet 的新特性,第 3 部分: Portlet 过滤器和 Portlet 窗口
2010-06-01 10:24 2488在 本系列 的 第 1 部分 简要回顾了JSR 1 ... -
JSR 286 Portlet 的新特性,第 2 部分: 资源服务、事件与共享呈现参数
2010-05-31 18:42 2201在本系列的 第 1 部分 简要回顾了 J ... -
JSR 286 Portlet 的新特性,第 1 部分: Portlet 2.0 新特性介绍
2010-05-31 17:55 2379本系列文章专门针 ... -
Session share
2010-05-14 12:18 0Tomcat Server.xml <Servi ... -
Liferay集群负载均衡配置
2009-10-30 11:14 4882先介绍一下项目系统的环境, Liferay Version: ... -
Liferay 集群部署
2009-10-30 00:00 0十二点了,明天断续 -
Liferay 权限策略
2009-10-29 23:45 3094先上一张大家都很熟悉的图 这张图可以说是整 ... -
Liferay Portlet之间的通信
2009-10-29 19:12 5007从我做Liferay到现在,这个问题一直都存在着,直到最近我才 ... -
Liferay异步提交
2009-10-29 18:06 3396liferay的异步提交其实是非常简单的,他用的是json & ... -
Liferay异步刷新
2009-10-29 18:05 3171Liferay portlet异步刷新,分为两种情况。 ... -
准备开始整理半年来对lifeay新的学习成果
2009-10-29 18:04 1491有半年没有写过liferay的blog了,不过对life ... -
Ajax知识
2009-06-11 17:50 0<SCRIPT LANGUAGE=" ... -
改变Liferay Portal Context(让Liferay不在使用ROOT目录)
2009-05-25 22:46 1825在部署的时候如果遇到我们会遇到让liferay与其他的项目并存 ... -
velocity调用DB持久层,生成actionurl
2009-05-22 17:42 1173#set($hostelCacheService = $ser ... -
liferay 所有版本下载地址
2009-05-21 13:29 3207从1.7.5一直到现在的5.2.3,应有尽有。 htt ... -
liferay ldap配置与相关代码
2008-11-28 11:06 38221.下载LDAP server 并安装, liferay支 ... -
liferay 的加密技术(CRYPT,SHA,SSHA,MD2,MD5)
2008-11-27 15:59 4286package com.liferay.util; impo ... -
liferay openid配置与代码详解
2008-11-21 21:14 28241.liferay的openid的配置很简单的,先去 open ... -
liferay验证码认证
2008-08-27 15:26 2733生成验证码相关: /** * Copyright (c ... -
很烦,想站在阳台上大声的喊
2008-08-20 19:42 1794终于到回家了,好累, ...
相关推荐
除了内置的权限管理功能外,Liferay 6.1 还支持通过二次开发来扩展权限管理的能力。 - **开发者指南**:官方提供了详细的开发者指南,其中包含了关于如何进行权限管理二次开发的信息。 - **安全性和扩展性**:二次...
权限系统是Liferay中的核心组件之一,它允许管理员精确控制用户对平台内不同资源的访问和操作权限。在“Liferay权限文档”中,我们将深入探讨这一主题。 Liferay的权限系统基于角色(Roles)、组织(Organizations...
### Liferay权限文件说明 #### 一、概述 在Liferay平台中,权限管理是非常重要的一个环节,它确保了系统的安全性和数据的访问控制。本文档主要介绍的是`permissions.xml`文件及其相关配置,这对于理解如何在...
6. 权限控制和二次开发: - Liferay通过用户-用户组-角色-Portlet的关联方式来实现权限管理,用户通过用户组获得角色,角色决定了用户对Portlet的操作权限。 - 开发者可以通过配置Portlet的权限来控制不同角色的...
Liferay权限系统是一个复杂而精细的框架,它在不同版本中有所变化,但在Liferay 6.1.1和Liferay 7中保持了相似的结构。理解Liferay权限的关键在于掌握其基本概念,包括用户、用户组、角色、组织、站点以及团队。 1....
【Liferay系统权限分配】是Liferay Portal平台中一项核心功能,它允许管理员根据业务需求精细控制用户对系统资源的访问。Liferay的权限模型基于角色(Role)和资源(Resource),通过角色来分配和管理权限,使得权限...
### 二、自定义权限系统 尽管Liferay提供了丰富的权限管理功能,但在某些场景下,可能需要更定制化的权限解决方案。这通常涉及到重写`PermissionCheckerImpl`类,特别是`hasUserPermission`、`hasGuestPermission`...
Liferay Portal 是一款强大的企业级门户平台,其权限管理系统是其核心特性之一,用于实现对企业内部资源的精细控制。在Liferay中,权限管理涉及到企业管理、组织管理、地区管理、用户组管理和Portlet管理等多个层面...
liferay的权限时序图,给大家共享一下,希望大家批评指正,沟通。
### Liferay Portal权限管理系统概述 Liferay Portal作为一款先进的企业级门户平台,其权限管理系统是保障信息安全、实现个性化用户体验的核心组件之一。本文旨在详细介绍Liferay Portal中的权限模型及其关键概念,...
在Liferay权限开发中,权限模型是核心概念之一。Liferay定义权限为针对特定资源的操作行为,这使得系统能够判断用户是否被授权执行特定动作。资源(Resource)是权限系统中的基本元素,它可以是Portlet、Page、...
### Liferay Portal 二次开发指南 #### 一、Liferay Portal 架构解析 ##### 1.1 Portal规范 Liferay Portal遵循了两种主要的门户规范:JSR 168 和 WSRP (Web Services for Remote Portlets)。JSR 168是一个Java...
【Liferay Portal 二次开发指南】 在IT领域,Liferay Portal是一个开源的企业级门户平台,它提供了丰富的功能和高度的可扩展性,使得开发者能够构建复杂的Web应用和企业信息系统。本指南将深入探讨Liferay Portal的...
#### 二、Liferay人员组织构建 Liferay的人员组织结构设计旨在实现清晰的用户管理和权限分配。 ##### 2.1 用户建立 新用户的建立一般不在控制面板中直接维护,而是通过用户管理站点模块进行。在控制面板中,可以...
### Liferay权限管理详解 #### 一、企业管理与权限层级 Liferay的权限管理系统非常强大且灵活,能够满足企业级应用对于用户权限控制的各种需求。本文档将详细解析Liferay内部的权限管理模型及其运作机制。 ##### ...
Liferay权限管理系统是Liferay门户平台的核心组成部分,用于控制用户对平台内容和功能的访问。这一系统基于严格的层次结构和角色分配,确保了资源的安全性和访问的灵活性。 1. **权限管理层次**: - **企业管理...
Liferay+权限管理.doc liferay-portal-5-2-systems-development-sample-chapter-5-managing-pages[1].pdf LiferayPortal二次开发指南.pdf liferay常用模块的简介.doc Liferay代码研读.pdf ...
Liferay权限结构是Liferay门户平台中核心的安全机制,它负责控制用户对系统资源的访问和操作。本文档主要针对Liferay的权限系统进行了深入解析,旨在为初学者提供详尽的指导。 首先,我们要理解Liferay权限的定义。...
Liferay Portal Liferay IDE
"liferay_permissions.rar_liferay"这个压缩包可能包含的就是Liferay权限系统的数据库结构图,这对于理解Liferay的权限管理机制至关重要。 Liferay的权限系统基于Spring Security(原Acegi Security)框架,采用ACL...