Portal Server 允许门户管理员将管理特定组织中各种任务的责任委托给其他个人,这些人即称为委托管理员。分散管理功能可以改进门户管理,尤其是在复杂的组织中。门户管理员可以为委托管理员设置频道,供其用于管理桌面。
为执行管理任务,委托管理员使用 Portal Server 桌面上的一组管理 Portlet。本主题向您展示如何在“开发者示例”桌面上设置这些频道,以便您可以为委托管理员设计一个基本的桌面。
Portal Server 提供一组 Portal Server 桌面上的管理 Portlet。Portlet 允许管理员设置专用的频道,以供委托管理员在管理桌面和最终用户角色时使用。有以下三种委托管理角色:
组织管理员角色 — 管理定义的组织中的桌面内容和最终用户。
内容管理员角色 — 管理定义的组织中最终用户的桌面内容。
用户管理员角色 — 管理定义的组织中的最终用户,并可指定或删除最终用户角色的指定。
本主题向您展示如何在“开发者示例”桌面上设置这些频道,以便您可以为委托管理员设计一个基本的桌面。
本主题向您展示如何在“开发者示例”桌面的组织、角色和用户级别设置委托管理频道。
设置访问控制指令,允许或限制对桌面频道的访问。
对于组织级别的管理员访问,访问控制指令默认情况下由 Access Manager 设置。
对于角色级别或用户级别的管理员访问,Portal Server 管理员必须设置访问控制指令。
将范例 ACI 加载到 Directory Server。
键入 ldapmodify -D "cn=directory manager"-w -f acis.
ldif
。
以下是范例 ACI 的内容:
# acis.ldif dn:dc=sample,dc=siroe,dc=com changetype:modify # aci for JDCAdmin1 role add:aci aci: (target= "ldap:///ou=people,o=DeveloperSample,dc=red,dc=iplanet,dc=com") (targetattr = "*") (version 3.0; acl "Allow JDCAdmin1 Role to read and search users"; allow (read,search) roledn = "ldap:///cn=JDCAdmin1,o=DeveloperSample,dc=red,dc=iplanet,dc=com";) - add:aci aci: (target="ldap:///dc=red,dc=iplanet,dc=com") (targetfilter="(entrydn=cn=JDC,o=DeveloperSample,dc=red,dc=iplanet,dc=com)") (targetattr="*") (version 3.0; acl "Allow JDCAdmin1 Role to read and search JDC Role"; allow (read,search) roledn="ldap:///cn=JDCAdmin1,o=DeveloperSample,dc=red,dc=iplanet,dc=com";) - add:aci aci: (target="ldap:///ou=people,o=DeveloperSample,dc=red,dc=iplanet,dc=com") (targetattr="nsroledn") (targetfilter="(!(|(nsroledn=cn=Top-level Admin Role,dc=red,dc=iplanet,dc=com) (nsroledn=cn=Top-level Help Desk Admin Role,dc=red,dc=iplanet,dc=com) (nsroledn= cn=Organization Admin Role,o=DeveloperSample,dc=red,dc=iplanet,dc=com) (nsroledn=cn=Top-level Policy Admin Role,dc=red,dc=iplanet,dc=com)))") (targattrfilters="add=nsroledn: (nsroledn=cn=JDC,o=DeveloperSample,dc=red,dc=iplanet,dc=com), del=nsroledn:(nsroledn=cn=JDC,o=DeveloperSample,dc=red,dc=iplanet,dc=com)") (version 3.0; acl "Allow JDCAdmin1 Role to add/remove users to JDC Role"; allow (write) roledn="ldap:///cn=JDCAdmin1,o=DeveloperSample,dc=red,dc=iplanet,dc=com";) - # aci for JDCAdmin2 role add:aci aci: (target="ldap:///cn=SunPortalportal1DesktopService,dc=red,dc=iplanet,dc=com") (targetfilter= (cn=cn=JDC,o=DeveloperSample,dc=red,dc=iplanet,dc=com))(targetattr="*") (version 3.0; acl "Allow JDCAdmin2 to edit display profile of JDC Role"; allow (all) roledn="ldap:///cn=JDCAdmin2,o=DeveloperSample,dc=red,dc=iplanet,dc=com";) - add:aci aci: (target="ldap:///dc=red,dc=iplanet,dc=com")(targetattr = "*") (version 3.0; acl "Allow JDCAdmin2 to read and search all"; allow (read,search) roledn = "ldap:///cn=JDCAdmin2,o=DeveloperSample,dc=red,dc=iplanet,dc=com";) # |
查找每一处 o=DeveloperSample,dc=red,dc=iplanet 并替换为 dc=sample,dc=hostname ,dc=com。
定义委托管理员的角色。
登录到 Sun JavaTM System Access Manager 管理控制台。
有关 Access Manager 控制台的信息,参见《Sun Java System Access Manager 7.1 管理指南》。
导航至“开发者示例”组织。
创建以下项目之一:
(可选的)从 Access Manager 控制台注销。
确保管理员角色 DN 的 Portal 桌面服务属性值与您门户的 Portal 桌面服务属性值相匹配。
管理员角色 DN 的桌面服务属性值如下:
content.admin.role.dn
user.admin.role.dn
如果 Portal 桌面服务属性值与这些值不匹配,则当属于该管理角色的用户向门户验证时,用户可能被带到错误的桌面。
例如,如果您将“开发者示例”Portal 桌面服务属性值设置为:
父容器:JSPTabContainer
编辑容器:JSPEditContainer
默认类型:developer_sample
并将管理角色 DN 设置为:
cn=Organization Admin Role, o=DeveloperSample, dc=siroe, dc=com
您必须将管理员角色 DN 的 Portal 桌面服务属性设置为:
cn=Organization Admin Role, o=DeveloperSample, dc=siroe, dc=com
编辑 taskadmin.properties 文件。
打开 portal-base-directory/samples/taskadmin 目录中的 taskadmin.properties 文件。
确认以下变量的值:
am.admin.dn — 顶级管理员 DN(例如 amadmin)
default.org.dn — 顶层或默认的组织(例如 dc=sun,dc=com)
ps.portal.id — 门户标识符(例如 portal1)
ps.parent.tab.container — Portal 桌面父容器名称(例如 ASCTabContainer)
ps.default.type — Portal 桌面类型(例如 enterprise_sample)
content.admin.role.dn — 载入内容管理频道和容器的 DN
user.admin.role.dn — 载入用户管理频道和容器的 DN
managed.content.dn — 由内容管理员角色管理的 DN
更改默认值以匹配您的部署。
# ------------------------------------------------------ # 常规设置 # ------------------------------------------------------ # # psadmin 密码文件(文件名和目录路径) # 示例:/tmp/password # psadmin.password.file=/tmp/password //密码文件包含密码 # # 门户配置位置 # 示例:/etc/opt/SUNWportal # ps.config.location=/etc/opt/SUNWportal # # 门户标识符 # 示例:portal1 # ps.portal.id=portal1 # # Access Manager 管理 DN # 示例:uid=amAdmin,ou=People,dc=siroe,dc=com # am.admin.dn=uid=amAdmin,ou=People,dc=siroe,dc=com # # Access Manager 默认组织 # 示例:dc=siroe,dc=com # default.org.dn=dc=siroe,dc=com # # ------------------------------------------------------ # 任务管理常规设置 # ------------------------------------------------------ # # 父标签容器 # 示例:JSPTabContainer # ps.parent.tab.container=JSPTabContainer # # 父标签容器提供者 # 示例:JSPTabContainerProvider # ps.parent.tab.container.provider=JSPTabContainerProvider # # 门户默认类型 # 示例:developer_sample # ps.default.type=developer_sample # # ------------------------------------------------------ # 内容管理设置 # ------------------------------------------------------ # # 内容管理角色 DN。内容管理频道和容器 # 加载到此 DN。# 示例:参见以下内容 # content.admin.role.dn=cn=Organization Admin Role,o=DeveloperSample,dc=siroe,dc=com # # 受管理内容的 DN。由 'content.admin.role.dn' 管理的 DN。# 示例:参见以下内容 # managed.content.dn=o=DeveloperSample,dc=siroe,dc=com # # ------------------------------------------------------ # 用户管理设置 # ------------------------------------------------------ # # 用户管理角色 DN。用户管理频道和容器 # 加载到此 DN。# 示例:参见以下内容 # user.admin.role.dn=cn=Organization Admin Role,o=DeveloperSample,dc=siroe,dc=com # # ====================================================== # 示例 # ====================================================== # # 组织管理示例:# content.admin.role.dn=cn=Organization Admin Role,o=DeveloperSample,dc=siroe,dc=com # managed.content.dn=o=DeveloperSample,dc=siroe,dc=com # user.admin.role.dn=cn=Organization Admin Role,o=DeveloperSample,dc=siroe,dc=com # # 角色管理示例:# content.admin.role.dn=cn=JDCAdmin2,o=DeveloperSample,dc=siroe,dc=com # managed.content.dn=cn=JDC,o=DeveloperSample,dc=siroe,dc=com # user.admin.role.dn=cn=JDCAdmin1,o=DeveloperSample,dc=siroe,dc=com
运行 ant 命令。
/usr/sfw/bin/ant -f ps-base-directory/samples/taskadmin/build.xml -Dprops.location=/tmp
tmp 是 taskadmin.properties 文件的位置
额外检查。