`
IvanLi
  • 浏览: 604073 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Oracle Portlet security实践

阅读更多
1: 基于oid组的权限认证
  1.1 配置${portletName}.properties,添加如下配置
 
        autoReload=true
	oidManager=true
	oidAdminClass=${OidAdminClass} extends oracle.portal.provider.v2.oid.OidInfo
	oidHost=${oidhostName}
	oidPort=${oidPortNumber} default is 389
	oidUser=${oidadmin user name} default is orcladmin
	oidPasswd=******
  

  1.2 ${OidAdminClass} 可以参考一下实现
 
   import oracle.portal.provider.v2.ProviderContext;
   import oracle.portal.provider.v2.oid.OidInfo;

   public class ${OidAdminClass}  extends OidInfo {
       
        private final String OID_HOST_PROPERTY = "oidHost";
        private final String OID_PORT_PROPERTY = "oidPort";
        private final String OID_USER_PROPERTY = "oidUser";
        private final String OID_PASSWD_PROPERTY = "oidPasswd";

        public void init(ProviderContext pc)
        {

            // This class gets its data from the deployment config file
            // deployments/oid.properties
            // 
            // The data has already been extracted and is accessible via
            // ProviderContext.  

            setLDAPHost( (String)pc.getAttribute(OID_HOST_PROPERTY) );
            setLDAPPort( (String)pc.getAttribute(OID_PORT_PROPERTY) );
            setLDAPUser( (String)"cn=" + pc.getAttribute(OID_USER_PROPERTY) );
            setLDAPPasswd( (String)pc.getAttribute(OID_PASSWD_PROPERTY) );
        }
    }
  

  1.3 配置provider.xml
   
          <securityManager class="oracle.portal.provider.v2.security.GroupSecurityManager">
          <group>cn=${group1},cn=${portalID},cn=Groups,dc=cn,dc=oracle,dc=com</group>
          <group>cn=${group2},cn=${portalID},,cn=Groups,dc=cn,dc=oracle,dc=com</group>
      </securityManager>
    

2: 自己实现portlet 认证
  2.1:创建类${SecurityManager} extends oracle.portal.provider.v2.security.PortletSecurityManager
  2.2: 实现方法public boolean hasAccess(ProviderInstance pi, PortletDefinition pd, ProviderUser user) 和        public boolean hasAccess(PortletReference ref, ProviderUser user) throws PortletNotFoundException
  2.3:在这个方法里可以实现自己的业务逻辑来判断当前用户能否访问指定的provider.
    2.4:这种方式比较灵活,可以所有的逻辑都自己控制。
分享到:
评论

相关推荐

    portlet开发参考手册

    常见的portlet portal实现有IBM WebSphere Portal、Liferay Portal和Oracle WebCenter等。 portlet开发中还需要关注的主题包括: 1. **内容和视图管理**:portlet可以动态地提供和更新内容,支持多种视图模式,如...

    基于Oracle AS Portal下的Java Portlet开发.pdf

    PDK - Java(Portlet Development Kit for Java)是Oracle AS Portal提供的一个框架,用于简化使用Java开发Portlet的过程。它为开发者提供API和工具,以方便地构建Java Portlet,降低开发复杂性。 【开发流程】 ...

    portlet源码,portlet Filter

    Portlet是一种在Web应用程序中,特别是企业级门户平台中,用于呈现内容和功能的可重用组件。在Java世界中,portlet技术主要基于JSR 286(Portlet 2.0 API)标准,它定义了portlet如何与门户服务器交互。本篇文章将...

    Liferay portlet 工程示例代码

    Liferay Portlet工程示例代码提供了开发者们一个深入理解并实践Liferay Portal平台上的portlet开发的宝贵资源。Liferay Portal是一款开源的企业级门户系统,它允许用户创建、管理和集成各种Web应用程序,而portlet...

    portlet入门介绍

    Portlet入门介绍 在Web开发领域,Portlet是一种特殊的组件,它被设计用来构建可复用、可配置的...通过理解portlet的工作原理、掌握开发工具和流程,以及不断实践和学习,你将能够熟练地创建和维护自己的portlet应用。

    portlet学习资料

    本篇文章将深入探讨JSR168 portlet的开发以及IBM提供的portlet开发实践。 一、JSR168简介 JSR168是Java Portlet Specification的第一个版本,于2003年发布。该规范定义了portlet的生命周期、portlet API以及portlet...

    Portlet标准汉化手册

    【Portlet标准汉化手册】深入解析 在现代企业级Web开发中,Portal Server成为了构建复杂网站架构的重要基础。本文将详细介绍Portlet标准及其在Portal中的应用,帮助读者理解这一技术的核心概念。 **1. 什么是...

    IBM portlet api 和 中文教程

    通过学习IBM Portlet API和实践,你不仅可以掌握portlet开发,还能理解门户平台的工作原理,从而更好地设计和实现企业级的门户应用。无论你是初学者还是经验丰富的开发者,本教程都将是你提升技能的宝贵资源。

    portlet详细例子

    这个"portlet详细例子"的资源包显然旨在帮助开发者理解并实践portlet的开发。Portlet技术主要应用于企业级的Web应用,如内容管理系统、协同工作平台等,它通过portlet容器来管理和协调各个portlet的显示和交互。 ...

    Stringbeans3.5 加载外部portlet应用

    同时,三个例子是实践操作的最佳教材,每个示例都对应不同的portlet功能和集成情况,通过学习和运行这些示例,你可以更深入地了解如何在Stringbeans 3.5中加载外部portlet。 在实际应用中,你可能还会遇到权限管理...

    jquery portlet

    **jQuery Portlet 知识详解** `jQuery Portlet` 是基于 jQuery UI 框架实现的一种portlet组件,它主要用于构建可自定义布局、具有拖放功能的Web应用程序界面。Portlet是Web应用中的一个模块化组件,常用于企业级...

    Spring mvc portlet demo

    Spring MVC Portlet Demo是一个学习和实践portlet开发的好资源。它展示了如何利用Spring MVC的强大功能来构建portlet应用,同时提供了注解配置和XML配置的示例,帮助开发者更好地理解和应用Spring框架。通过研究`...

    portlet 开发

    通过深入学习和实践这些知识点,开发者可以创建高效、灵活且适应性强的portlet,丰富企业门户的功能,满足用户多样化的需求。"portlet之开发详解_包含索引完整版.pdf"这份文档应能提供更详尽的信息,帮助开发者深入...

    使用spring mvc portlet 3.0开发IBM WebSphere Portlet应用

    你可能会用到Spring的AOP(面向切面编程)来实现事务管理,以及Spring Security来控制portlet的访问权限。 总结一下,使用Spring MVC Portlet 3.0开发IBM WebSphere Portlet应用涉及的主要知识点有: - Portlet 3.0...

    portlet资料

    【portlet资料】主要...以上知识点是根据给定信息推断出来的,实际学习时,需要结合博文链接(虽然没有给出具体内容,但可能是关于portlet开发的实践经验分享)和提供的文档来深入理解和掌握portlet开发的核心技术。

    portlet

    portlet是Web应用程序中的一个组件,它允许用户在门户页面上个性化和交互地访问信息和服务。Portlet技术主要应用于企业级的门户系统,如IBM ...通过学习和实践,我们可以构建出功能丰富、用户体验良好的portlet应用。

    portlet开发手册

    - 通过`security-role-ref`,我们可以控制哪些角色的用户可以访问portlet,这是portlet安全模型的基础。 5. **portlet的个性化和首选项**: - 用户可以根据需要定制portlet的参数,这些偏好可以存储在portlet-...

    Portlet规范介绍.rar

    Portlet是一种Web应用程序组件,主要用于构建企业级的门户系统。Portlet规范定义了这些组件如何在门户环境中交互、渲染和管理用户界面。本篇文章将深入探讨Portlet的概念、功能、工作原理以及相关的技术标准。 ...

    PortLet 入门小例子

    Portlet是一种可重用的Web组件,主要用于企业级应用程序,特别是内容管理系统如IBM WebSphere Portal或...通过实践这个小例子,你将能熟练掌握portlet开发的基本技能,并能够将这些技能应用到实际的企业级项目中。

Global site tag (gtag.js) - Google Analytics