`
muzhimin
  • 浏览: 23211 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

liferay配置权限

阅读更多
配置权限
根据之前写的user对象,进行权限声明。具体步骤如下:
(1)    在ext-impl文件夹下,新建resource-actions文件夹。
(2)    在resource-actions文件夹下,建立users.xml文件。
Xml代码:
<?xml version="1.0"?>

<resource-action-mapping>
<!--设置portlet权限-->
<portlet-resource>
<portlet-name>EXT_Users</portlet-name>
<supports>
<action-key>ADD_ENTRY</action-key>
<action-key>CONFIGURATION</action-key>
<action-key>VIEW</action-key>
<!--这里我们定义了五种权限,看,加,删,增,权限设置-->
</supports>
<community-defaults>
<!--设置成员默认所有的权限-->
<action-key>VIEW</action-key>
</community-defaults>
<guest-defaults>
<!--设置访客默认所有的权限-->
<action-key>VIEW</action-key>
</guest-defaults>
<guest-unsupported>
<!--设置访客默认所没有的权限-->
<action-key>ADD_ENTRY</action-key>
<action-key>CONFIGURATION</action-key>
</guest-unsupported>
</portlet-resource>
<!--设置model权限 目前我只用到了这个model-resource-->
<model-resource>
<model-name>com.ext.portlet.users</model-name>
<portlet-ref>
<portlet-name>EXT_Users</portlet-name>
</portlet-ref>
<supports>
<action-key>ADD_ENTRY</action-key>
</supports>
<community-defaults />
<guest-defaults />
<guest-unsupported>
<action-key>ADD_ENTRY</action-key>
</guest-unsupported>
</model-resource>
<model-resource>
<!--元素对应的class-->
<model-name>com.ext.portlet.users.model.UsersEntry</model-name>
<portlet-ref>
<portlet-name>EXT_Users</portlet-name>
</portlet-ref>
<supports>
<action-key>ADD_ENTRY</action-key>
<action-key>DELETE</action-key>
<action-key>PERMISSIONS</action-key>
<action-key>UPDATE</action-key>
<action-key>VIEW</action-key>
</supports>
<community-defaults>
<action-key>VIEW</action-key>
</community-defaults>
<guest-defaults>
<action-key>VIEW</action-key>
</guest-defaults>
<guest-unsupported>
<action-key>ADD_ENTRY</action-key>
<action-key>DELETE</action-key>
<action-key>PERMISSIONS</action-key>
<action-key>UPDATE</action-key>
</guest-unsupported>
</model-resource>
</resource-action-mapping>
说明:里面的model-name可以在ext-impl/src/content/Language-ext.properties里面定义对应的中文名称,类似映射吧
(3)    在resource-actions文件夹下,建立default-ext.xml文件。
Xml代码
<?xml version="1.0"?>
<resource-action-mapping>
<resource file="resource-actions/users.xml" />
</resource-action-mapping>
就是把上面的users.xml导入进来
(4) 在ext-impl\portal-ext.properties中指明属resource.actions.configs=resource-actions/default.xml,resource-actions/default-ext.xml
说明:resource-actions/default.xml不能省掉,虽然default.xml在这个目录里面没有,经过验证,这个应该是指向原来工程里default.xml文件的,如果省略掉,那么原项目里面的所有权限配置都将失去,估计它是把原来的给直接覆盖掉了吧
(5) 这样子配置好之后,就可以在控制面版里对应的角色的定义权限里找到对应的portlet里面 就能看到刚才配置的信息,当然了,这个配置的信息还不能对应portlet页面的信息,因为还没有写具体的权限类。
(6) 在ext-impl/src/com/ext/portlet/users/service建permission目录,再建UserPermission.java文件
Java代码:
public class UsersPermission {

//permissionChecker.hasPermission方法的四个参数:1 社区ID、2元素 class名、3 主键、4 所操作的权限,
//要和xxx.xml中定义的权限名相同

//check方法适用于后台验证
public static void check(
PermissionChecker permissionChecker, long groupId, String actionId)
throws PortalException {

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

//contains方法适用于前台验证
public static boolean contains(
PermissionChecker permissionChecker, long groupId, String actionId) {

return permissionChecker.hasPermission(
groupId, "com.ext.portlet.users", groupId, actionId);
}

}
说明:可以从原项目里面对应的包里面找到类似的代码,直接拷过来,其中com.ext.portlet.users要对应users.xml里面的model-name。
(7) 在ext-web/docroot/html/portlet/ext/users/下面的需要控制权限的jsp页面里,加入
<c:if test="<%= UsersPermission.contains(permissionChecker, scopeGroupId, ActionKeys.ADD_ENTRY) %>">
</c:if>
可以对一些按钮进行控制,其中ActionKeys.ADD_ENTRY要对应user.xml里面的action-key。

最后这样子完成后,就可以在控制面版->角色->定义权限->添加portlet权限,选择对应的portlet,再在里面进行配置
图表 1

重新注册一个用户,并将这个角色赋予这个用户,则以这个用户登录后,就可以测试对应的权限了。

图表 2 这是没有这个权限时的portlet


图表 3 这是当用户配置了添加条目权限后的界面,其中的提交按钮就显示出来了
分享到:
评论

相关推荐

    Liferay6.1 权限管理

    ### Liferay 6.1 权限管理深度解析 #### 一、权限管理概述 Liferay 6.1 的权限管理是一项重要的功能,它确保了门户的安全性和灵活性。权限管理主要包括用户管理、组织机构管理、站点管理和角色管理等多个方面。...

    liferay 权限文档

    在“liferay.zip”中,可能包含的是与权限相关的示例代码、配置文件或者演示实例,帮助开发者更深入地理解Liferay权限系统的工作原理和实践方法。解压后,可以查看具体文件了解如何在实际开发中应用这些概念。 总之...

    liferay 权限文件说明

    这一步骤是为了让系统能够读取到配置文件中的属性值,进而根据这些值进行后续的权限控制设置。 ```xml &lt;param-name&gt;portlet_properties &lt;param-value&gt;library-portlet.properties ``` 2. **配置语言和权限...

    Liferay之权限介绍2

    总的来说,Liferay的权限系统是复杂而精细的,它提供了一种灵活的方式来确保企业内部的信息安全和访问控制,同时允许管理员根据需要调整权限设置,以满足不同角色和用户组的需求。通过理解这些核心概念,管理员可以...

    Liferay系统权限分配

    此外,Liferay还支持资源层次结构,意味着权限可以基于资源的层级结构进行继承,这样在较高层级设置的权限会影响到下级资源。 总的来说,Liferay的权限分配机制提供了强大的控制力,确保了系统的安全性和灵活性。...

    Liferay Portal 创建权限

    2. **角色权限的层级**:角色权限的层级结构允许管理员在不同层级上设置一致的权限,减少重复配置的工作量。 3. **用户组的作用**:用户组是连接用户与角色的关键桥梁,通过将用户添加到特定的用户组中,可以快速...

    Liferay Portal 权限管理

    Liferay Portal 是一款强大的企业级门户平台,其权限管理系统是其核心特性之一,用于实现对企业内部资源的精细控制。在Liferay中,权限管理涉及到企业管理、组织管理、地区管理、用户组管理和Portlet管理等多个层面...

    Liferay Portal权限介绍1

    本文旨在详细介绍Liferay Portal中的权限模型及其关键概念,帮助管理员和开发者更好地理解并配置系统权限。 #### 1. 权限检查流程 在Liferay Portal中,权限检查遵循一个固定的顺序:个体(用户)、社区、企业。...

    Liferay权限开发总结

    在Liferay权限开发中,权限模型是核心概念之一。Liferay定义权限为针对特定资源的操作行为,这使得系统能够判断用户是否被授权执行特定动作。资源(Resource)是权限系统中的基本元素,它可以是Portlet、Page、...

    liferay 权限管理

    通过这些角色的设置和权限分配,可以实现对Liferay平台的精细化管理,确保不同用户根据其职责拥有合适的访问权限。这对于构建安全、高效的企业级应用至关重要。 综上所述,Liferay的权限管理系统提供了一套完整而...

    liferay权限管理(大全)

    ### Liferay权限管理详解 #### 一、企业管理与权限层级 Liferay的权限管理系统非常强大且灵活,能够满足企业级应用对于用户权限控制的各种需求。本文档将详细解析Liferay内部的权限管理模型及其运作机制。 ##### ...

    liferay + cas + ldap 集成配置

    这涉及到配置 Liferay 的 CAS 客户端插件,设置 CAS 服务器的相关参数,以及调整 Liferay 的安全策略。 5. **集成 Liferay 和 LDAP**:Liferay 可以与 LDAP 服务器进行集成,用于用户身份验证和授权。这包括在 ...

    Liferay权限管理

    Liferay权限管理系统是Liferay门户平台的核心组成部分,用于控制用户对平台内容和功能的访问。这一系统基于严格的层次结构和角色分配,确保了资源的安全性和访问的灵活性。 1. **权限管理层次**: - **企业管理...

    liferay_permissions.rar_liferay

    这有助于开发者理解和调整Liferay的权限配置,以实现更精确的访问控制。 另一方面,`www.pudn.com.txt`可能是一个链接或说明文件,提供了更多关于此主题的来源或者补充信息,比如在Pudn网站上可能有相关的讨论或...

    Liferay权限结构

    权限管理系统允许管理员灵活地设置不同级别的权限,确保系统安全的同时满足不同用户的使用需求。 在实际应用中,Liferay的权限管理界面允许用户直观地分配和管理权限,包括添加、删除、修改权限,以及为角色分配...

    liferay配置使用开发大全

    《Liferay配置使用开发大全》是一本全面介绍Liferay Portal平台的指南,涵盖了从环境配置到深度开发的全过程。Liferay Portal是一款开源的企业级内容管理平台,广泛应用于构建企业内部和外部的协作、社交和信息发布...

    liferay权限

    在Liferay平台上进行权限开发是实现企业级应用安全性与灵活性的关键步骤。本文将详细解析Liferay权限系统的...这不仅涉及权限配置的设置,还包含了对Liferay框架的深入理解和利用,从而实现更高级别的权限管理功能。

    liferay-developer-guide-6.0_liferay_

    开发者需要理解角色、权限、资源的概念,以及如何为portlet设置安全策略。这将确保你的应用能根据用户的权限提供适当的功能。 Liferay还支持工作流和内容管理,你可以通过流程定义语言(BPMN)设计复杂的业务流程,并...

Global site tag (gtag.js) - Google Analytics