版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
密级:文档编号:项目代号:中国移动SunOnePortal安全配置手册 Version1.0 中国移动通信有限公司二零零四年十二月拟制:审核:批准:会签:标准化:
版本控制版本号日期参与人员更新说明分发控制编号读者文档权限与文档的主要关系1创建、修改、读取负责编制、修改、审核2批准负责本文档的批准程序3标准化审核作为本项目的标准化负责人,负责对本文档进行标准化审核4读取5读取
TOC\o"1-3"\h\z第一章 SunOnePortal安全概述 61.1 SunOnePortal简介 61.2 工作原理 71.2.1 安全的接入 81.2.2 用户的身份认证和授权: 91.2.3 资源的访问控制 91.2.4 集中的信息存取 101.3 功能与定位 101.4 特点和局限性 11第二章 3A服务 122.1 身份认证(Authentication) 122.2 授权(Authorization) 132.3 安全管理(Administration) 142.3.1 用户的管理 142.3.2 资源的管理 152.3.3 DirectoryServer的管理 17第三章 SunOnePortal资源的访问控制 193.1 Portlet访问其他应用系统的方式 193.2 Porlet和Container 203.3 用户、组织、角色 203.4 Service和Policy的应用: 213.5 访问控制资源 223.6 DegelatedAdministrator 243.7 客户化用户登录验证模块 253.8 使用SSL访问SunOnePortal 28附录术语表 31
SunOnePortal安全概述SunOnePortal简介SunOnePortal是Sun公司为企业提供的信息门户解决方案产品,它是基于C/S的Web架构,能够满足B2B,B2C,B2E的企业信息平台要求。SunOnePortal能够对企业的各个应用系统进行整合展现,能够根据用户的需要进行内容定制和个性化展现。它能够对企业各应用系统资源进行统一管理,对各系统用户进行统一管理,能够按用户权限对资源进行分配,实现SSO单点登录。SunOnePortal的标准配置产品包括:SunOneWebServer,SunOneIdentityServer,SunOneDirectoryServer,SunOneRemoteAccess.MobileRemoteAccess(这里介绍的技术是依据PortalServer6.2)。SunOneWebServer:它是Web服务器,为Portal应用提供java运行环境。支持SSL加密通讯。SunOneIdentityServer:它是SunOne的认证服务器,为Portal提供认证服务,包括身份认证,授权服务,单点登录服务。SunOneDirectorySever:它是SunOne的目录服务器,为IdentityServer、Portalserver提供信息存储服务:包括用户信息,访问配置信息,认证信息,权限信息以及portal的配置信息。SunOnePortalRemoteAccess:它为PortalServer提供外网接入服务。是用户由外网访问Portal的反向代理,支持SSL访问协议。MobileRemoteAcess:提供支持WAP协议的手持设备的访问服务。工作原理下图是江苏移动统一信息平台的首页:在这个页面中,用户通过登陆到江苏移动的统一信息平台访问到OA系统,经营分析等系统提供的功能,这些系统的功能是通过统一信息平台展现给用户的。Portal的信息是以Portlet为最小单位展现给用户的,每个portlet都为用户提供相应的功能。在页面上,多个porlet组成了Tab页面用户可以通过点击Tab链接进入到相关主题的页面。Portal的开发主要包括如下几个方面:集成内容的开发;确定要集成的内容和方式。完成由Portal到其他系统单点登录,数据抽取和展现的工作。Portlet和页面的开发、部署。Porlet是内容的展现。Tab页是多个Portlet聚合在一起的页面。它们的开发是按照用户对界面的需求来进行的。用户、组织、角色信息和服务(service)信息建立。在IdentityServer上建立用户信息、组织、角色信息及服务信息。服务包括很多种类,我们常用的是桌面服务(desktopservice),我们根据用户的需要建立不同内容的桌面服务。DesktopService的分配。按照需求将不同的桌面服务分配到不同的组织、角色、用户中去。 下面着重介绍SunOnePortal的安全方面的特性:下图是一个典型通过RemoteAccess访问Portal系统的拓扑示意图: SunOnePortal安全性包括四个方面:一,安全的接入,二,用户的身份认证和授权。三,Portal的资源访问控制。四,集中的信息储存。安全的接入安全接入是保证访问用户和server之间,提供不同服务的server和server之间传递的数据不被监听,窃取和窜改。并且保证Portal服务器对终端用户开放的服务仅仅限于http或https的服务端口。对于用户通过外网访问portal,要先通过RemoteAccess组件,这之间的访问协议通常配置成SSL,企业员工在企业DMZ区访问Poral,访问协议也支持SSL。而在Portal服务器和DirectoryServer之间的访问同样支持ldap协议上的SSL。这样就确保从用户到RemoteAccess,从Portal到DirectoryServer之间的信息传递的安全性。RemoteAcess通常是部署在企业的DMZ区,通常有两块网卡,一个连接到Internet,另一块连接到企业的内部网。企业员工如果从外网访问PortalServer的服务,键入的是RemoteAcess所提供的网页地址,RemoteAcess通过对URL地址的重写,将以用户的请求转发给PortalServer来处理并将结果转发给用户。用户的身份认证和授权:用户访问Portal的身份的认证和授权是由IdentiyServer来完成的。当用户访问Portal服务时。IdentityServer首先截获用户的请求。当检测到用户没有被认证过后,IdnetityServer就会将用户转向到登录界面。要求用户输入用户名和密码。在用户提交用户名和密码后。IdentityServer会到DirectoryServer的用户列表中去匹配,如果验证通过,IdentityServer就会将用户的组织信息角色信息取出来,放在session中,并对用户要访问的Portal桌面进行进行权限匹配,如果该员工有权进行访问。则IdentityServer就将用户重定向到Portal的服务页面。而Portal则根据用户的在session中存储的用户桌面服务信息来组织页面。资源的访问控制Portal作为一个集成平台。所集成的系统是通过Web页面来展现给终端用户的。页面上信息的展现单位是Portlet,Tab页是多个portlet的集合。对于不同组织,角色的用户来说他们的权限是不同,通过Portal访问到的应用系统也不同。用户看到的portlet、Tab页都不会相同。另一方面Portlet和Tab的组织,可以根据用户的需求。按照组织,角色进行定制。在SunOnePortal中控制不同Portlet组合、页面组合。不同权限用户的页面就是不同的Tab页和porlet的组合。这些组合(包括属性信息)是存放在DesktopProfile文件中的,是用户、组织、角色的属性。在开发过程中,我们要开发这些Tab页和portlet,来将其他系统集成在portal上。再根据需求对组织的desktopprofile,角色的desktopprofile或用户个人的desktopprofile进行定制,以完成个性化,角色化、组织化的桌面资源展现。集中的信息存取DirecotryServer是Portal平台的重要组成部分。它为Portal提供信息存储服务。Portal所有的配置信息;用户,组织,角色等的信息都存储在DirectoryServer中。Portal和DirectoryServer之间的通讯是LDAP协议,或基于LDAP的SSL协议。在安装过程中,DirecotryServer为Portal提供一个访问用户,这个用户用于建立和维护Potal的所有配置信息和用户等信息。用户名的密码是以加密的形式储存在Portal的配置文件中。功能与定位SunOnePortal是一个企业级的信息门户平台。这个平台为提供给企业如下的功能:为企业各个应用系统提供内容聚合展现的平台:企业的各个应用系统往往都是各自独立的。用户在访问它们的时候,要做很多重复登陆操作。Portal通过实现对各个应用系统的内容聚合展现,使得用户通过一个平台就可以访问到多个系统,这样大大的方便用户。通过这样的整合展现,提高了各应用系统之间信息关联性和共享性。SunOnePortal为企业建立了一个信息交流和共享的平台,一个协同工作的平台。这是Potal的最大的优点。实现单点登陆,提高安全性:用户登录Portal之后,访问其他系统无需再次输入用户名/密码。这一方面方便了用户使用。另一方面也提高了系统的安全性,因为记忆和使用多个用户名和密码这会在客观上给系统带来不安全性。Portal的功能之一是将各应用系统的用户名和密码进行整合。使用Portal对它们进行统一管理。实现统一的用户管理,建立集中的用户资源信息:对于不同的应用系统,用户的信息往往也是分散而各自独立。随着企业信息化建设的深入。系统之间的关联性愈来愈重要。用户信息的不同往往给信息的共享和交换带来很大的不便,同时多个用户名的管理和维护也给企业带来安全上的隐患。Portal通过建立统一集中的用户信息。为企业的其他应用系统提供了统一集中的的目录信息服务。为了兼容其他用户系统,SunOnePortal可以通过MetaDirectoryServer软件,实现和现有系统的用户信息同步。通过对IdentityServer的员工信息的管理,就可以实现对各个应用系统的用户的管理。这样的集中管理,免除了分散管理所带来的弊端,增强了用户信息的集中性和利用率,也为企业的员工信息化管理建立了一个统一、标准的平台。特点和局限性SunOnePortal作为企业门户网站解决方案,它实现了标准的电子商务体系结构。它所提供的核心产品,为用户提供了具有高度可伸缩的门户网站的基础结构。用户在这个基础上可以做更进一步的扩展:将更多的应用系统集成进来。实现应用集成,信息共享,协同工作等功能。在技术层面上看,SunOnePortal是web的应用系统。SunOnePortalServer和IdentityServer是遵照J2EE标准来开发、实现的。因此它们可以部署在诸如WebLogic,WebSphere,SunOneApplication等应用服务器上,这样可以有效利用用户现有资源,有充分的灵活性。SunOnePortal以SunOneDirectory为目录服务器,这种目录服务器在同类产品中具有优秀的性能。SunOnePoratl的产品组件少,结构清晰,功能相对简单实用。Portal的开发相对容易,可以为用户节省投入成本。SunOnePortal作为SunOne的门户解决方案产品和业界的其他产品比较。功能相对简单,产品线比较短。SunOneIdentityServer.的功能比较单一。实现的功能比较有限。在Poral的用户管理方面,SSO方面,实施人员要做一定的开发工作。3A服务3A是指authentication,authorization,administration。SunOnePortal的组件:SunOneIdentityServer所提供服务就涵盖这三个方面:身份认证(Authentication)Anonymous访问,我们禁止使用匿名访问的方式。需要认证的访问,IdentityServerz支持认证方式包括:Certificate-basedLDAP,Membership(Self-Registration),NT,Radius,SafeWord,Unix。对应不同的认证方式,我们需要不同的软件/硬件相配和。我们只采用LDAP的认证方式,即用户的用户名和密码是配置在目录服务器中,IdentityServer将用户输入的用户名和密码和目录服务器中的相比来判断是否允许用户是否可以登录。在配置中,我们需要指定目录服务器的访问地址,访问帐号和密码(密码是加密保存的)。IdentityServer采用基于加密算法的token字符串,作为标识用户的方法:当用户访问由IdentityServer所保护的Web应用时,如Portal,IdentityServer的Agent就会将请求截获,并转发给IdentityServer做认证。IentityServer从用户的Cookie中取出token串,来作验证,如果用户没有Token串或验证没有通过,IentityServer就会将用户重定向到IentityServer的认证界面。请求用户输入用户名和密码。只有当验证通过时,IentityServer会将用户原先的请求转向到它访问的应用页面去。IdentityServer的多种认证方式可以应用到不同的组织,角色,甚至是不同的策略服务都可以支持不同的认证管理方法。授权(Authorization)权的概念在IdentityServer中是以service来体现的。如:desktopservice。不同的desktopservice,就是不同的porlet的组合和展现。管理者将不同的desktopservice分配给不同的用户,那么用户登录到Portal之后看到的就是不同桌面内容的服务。如果用户没有desktopservice的服务,他就不能看到桌面的内容。IdentityServer对用户的授权是多级别的:不同的组织,角色,用户都可以有自己的Service。而对于从属于给定组织或角色的用户来说,service是有继承关系的。对于多层的组织架构来说,service也是同样具有继承性。这就方便了权限的管理。不必将Service一个一个的付给用户。下图是CMCC组织下所拥有的service:
个人的desktopserviceices如下图所示:安全管理(Administration)Administration管理是IdentityServer对用户和资源的管理,以及DirectoryServer的管理。用户的管理用户管理包括对用户(user)管理,用户的组(group)管理,组织(organization)管理,角色(role)管理,策略(policy)管理。这些任务可以由管理员(amadmin)来进行,也可以由指定的组织(organization)的管理员来进行。用户管理:管理员可以对用户的信息(帐号信息,用户姓名,电话等信息)进行增、删、改等操作。用户可以对自己的也可以进行修改(但是不可删除)。管理员也可以暂时终止用户的访问而不删除他,也可以在SessionStatus的链接查找是否该用户在线及其在线使用情况。管理员可以为用户设定初始密码,用户登录后,要主动更改其登录PortalSever的密码。密码的位数应当在8位以上,禁止采用password,和用户名相同的密码等常用密码。并要求用户定期修改自己的密码。组(group)管理是对一组用户的集合。组的划分可以根据用户的共同特征,功能,或者兴趣。它可以为应用系统提供分组用户的信息,方便使用。组织(organization)管理它是按照用户的组织架构信息,来对应建立用户组织信息。在其组织下建立用户信息。对应组织,超级管理员可以将对该组织的管理权限分配给其组织的特定的用户。这样,该用户就有了对其组织下人员的管理权限,还包括属于该组织的服务配置,认证管理等权利。组织的管理是多层的。符合实际情况,我们可以在组织下边再建立组织。角色管理(role)角色管理是相似于组、组织的管理。一个用户可以属于多个角色,角色中可以有不同服务(service),不同策略(policy)。不同用户的不同桌面展现我们是通过role来设定的。资源的管理服务管理(Service)在portal的环境中,我们主要是对desktopservice来进行管理。Desktopservice中可以定义用户的首页,各个页面的位置和Tab页中Portlet的组合,页面的属性,Portlet的属性等等。如下图所示:首页(SY)是desktopservice的一个属性。策略管理(Policy)策略管理是用于保护基于web的应用服务。我们可以对所集成的web应用服务进行访问策略管理:首先将其作为一种服务(service)注册到identityserver中,再建立策略管理,制定访问条件时间段、IP段、指定可以访问的用户、组织、角色或组以及对访问用户的认证方式。通过这样的设置实现IdentityServer对web应用服务的统一访问管理。如下图是Desktoppolicy,在js.cmcc下的“AbilitytoexecutePortalServerDesktop”是默认的policy。日志服务(loggingservice)SunOneIdentity的日志服务(loggingservice)记录下用户访问SunOnePortal的一些信息。包括accessdenial(拒绝访问)、approvals(准许)、代码例外(codeexception)等信息。管理员通过对日志的分析可以了解用户的loginlogout,ideltime等的访问情况。Loggingservice配置是amLogging.xml,位置在<identity_server_root>/SUNWam/config/xml。我们可以通过它来配置loggingservice的各项参数。日志的输出分文本和数据库两种(Flatfileformat,RelationalDataBaseFormat),作为文本文件输出我们可以在/var/opt/SUNWam/目录下找到。它们的输出信息项请参考联机文档。Loggerlogger=Logger.getLogger("SampleLogFile");//CreatesthefileortableintheLogLocationspecifiedinthe//amLogging.xmlandreturnstheLoggerobject.LogRecordlr=newLogRecord(Level.INFO,"SampleData",ssoToken);//CreatestheLogRecordfillingdetailsfromssoToken.logger.log(lr,ssoToken);//Writestheinfointothebackendfile,dborremoteserver.Loggingservice也提供API供我们使用,我们可以在开发的程序中使用LoggerClass,它的package:com.sun.identity.log。下面提供代码举例:DirectoryServer的管理SunOneDirectorySever安全设置有如下几点,首先,作为SunOnePortal平台的一个组件,在安装PortalServer时DirectorySever对安全做了默认设定,PortalServer是使用一个固定的帐号来访问DirectoryServer的,它是DirectoryServer的超级用户,它可以对portalserver的用户信息进行管理。但是我们没有赋予它管理员的权限,它不可以对Directory的配置设置进行修改。其次,对于应用中的用户访问Directory的权限控制,在各自的应用中,只会对每个应用系统建立一个统一的帐号来实现对其应用系统用户的访问和管理。而且访问和管理的范围只是对其应用系统的用户。在实际中,我们要禁止Anonymous的访问权限如下图所示禁止Anonymous的访问:如果portalserver和DriectoryServer的部署不在同一网络而需要加密访问,可以设置DirectoryServer的SSL加密访问。如何配置SSL访问Directory,请参阅SunOneDirectory文档。我们也开启AuditLog,errorLog,accessLog:来监视Directory的访问情况。如下列相是从<ldapserver-dir>/host-name/config/dse.ldif文件中摘得,相关配置如下nsslapd-accesslog-logging-enabled:onnsslapd-threadnumber:45nsslapd-accesslog:/usr/ldap/slapd-emis03/logs/accessnsslapd-accesslog-maxlogsperdir:10nsslapd-accesslog-maxlogsize:100nsslapd-accesslog-logrotationtime:1nsslapd-accesslog-logrotationtimeunit:daynsslapd-errorlog:/usr/ldap/slapd-emis03/logs/errorsnsslapd-errorlog-logging-enabled:onnsslapd-errorlog-maxlogsperdir:2nsslapd-errorlog-maxlogsize:100nsslapd-errorlog-logrotationtime:1nsslapd-errorlog-logrotationtimeunit:weeknsslapd-auditlog:/usr/ldap/slapd-emis03/logs/auditSunOnePortal资源的访问控制首先我们先论述SunOnePortal集成其他系统的方法:Portlet访问其他应用系统的方式我们先来讨论SSO的方式:1.入侵式单点登录: 采用IdentityServer身份管理服务器,提供单点登录解决方案使用户只需验证一次就能访问多个应用,换句话说,当用户访问后续的,受保护的应用时,无需再次输入用户名和口令。用户通过访问控制的机制来保护企业的数据和网络资源。当用户企图访问受保护的网络资源时,必需通过用户的身份验证,验证成功以后,用户获得访问网络资源的授权,基于用户为该用户定义和分配的访问控制策略。如果用户想要访问几个受保护的资源,SSO服务为用户提供已验证身份的证明,即一种令牌,称为SSOToken,该令牌会随着用户的访问提交给相应的网站,受保护的Web应用服务要安装有用户的Agent,Agent能校验令牌的合法性,用户无需再次进行身份验证。而且所集成的系统的认证系统要做相应的修改。使用Portlet展示集成的应用时,大都采用iFrame的方法。即由被集成系统提供界面。2.非入侵式单点登录:当Portlet要展示集成的应用系统时,portal首先在用户的信息目录中寻找用户在所集成系统的用户名和密码。当发现为空时,它会请求用户输入用户名和密码。当用户输入并提交后,Portal就会记录下这个用户名/密码,并向那个系统为用户做一次登录的URLpost/get操作。登陆成功之后,Portlet就展示出相应的内容。当然在下次用户再访问时,系统再次帮助用户做登录操作,而无需用户再次输入用户名和密码,SunOnePortal中这种SSO方式要做相应的开发,IdentityServer也要扩展用户的存储属性,使之能够存储用户在不同系统中的用户名和密码。我们也要开发相应的程序来为用户提供界面来存储和更改用户名和密码。相比之下,侵入式的单点登录方式要容易实现。无论是入侵式单点登录,还是非入侵式单点登录,Portlet都可以对所集成的系统进行内容抽取,而不采取URL的集成方式。但是要看对方有没有相应的API可以提供。Porlet和ContainerPortlet和Container是构成页面的组成单位。不同的应用系统都是通过Portlet来展现的。而Container是一组Porlet的集合,在页面上是以Tab页的方式来展现。用户、组织、角色下图说明了用户和组织的关系,组织和组织的关系:Org:Organization下图说明了用户和角色之间的关系:从上两图我们可以看出:用户只可能属于一个组织;而他可以拥有多个角色。在SunOneIdentityServer中,角色从属于组织。组织是可以继承的。组织所拥有的属性是可以被下级组织所继承。但是角色不能有继承关系。Service和Policy的应用:我们先介绍DesktopService的一个重要的属性:DisplayProfile的概念。Displayprofile是用于展现Portal页面的属性文件,是XML格式的文本文件。它定义了Portal页面中的有哪些Tab、Tab的属、Tab的排列位置;Portlet的种类、属性,在Tab页中的组合以及排列位置等等信息。Portal的Desktopservlet就是根据它来组织portal的页面,展现给用户。这个文件不需要手工编写,它是通过我们在做页面定制的过程中生成的。不难推知,对于不同访问权限不同的用户来说,他们的displayprofile一定是不同的。DesktopService是作为一种服务被注册到IdentityServer当中的。对于Portal应用来说,我们首先要将服务注册的根组织下。并建立模板,PortalServer默认的已经帮助我们在根组织下做了注册DesktopService,并建立了模板。查看的方法如下:登录到http://emis.js.cmcc/amconsole选择左下framesetview中的“Service”待页面刷新后,点击“Desktop”一项,需要注意的是:在根组织下的各级组织下都要注册desktopservice,否则改组织下的用户将没有desktop服务。如果我们要做对该组织的页面做客户化,我们就要为desktopservice创建模板。接下来我们要查看policy的服务:Policy服务是IdentityServer用于控制对Service访问的方法。登陆到http://emis.js.cmcc/amconsole选择左下framesetview中的“Policy”,待页面刷新后,点击“AbilitytoexecutePortalServerDesktop”一项,在右下的frameset中我们就可以看到DesktopPolicy的一些设定:General:设定指是desktoppolicy的名字Rule:是指desktoppolicy所对应service的名字。这里的对象就是desktopservice。对desktopservice所拥有的操作就是可执行desktop:“HasPrivilegetoExecuteDesktop”Subjects:是指这个policy所应用的对象,缺省的只有一个值“OrgExecuteDesktop”有权限执行desktop的组织,是包含了根组织:js.cmcc,即所有js.cmcc的组织都可以执行的desktop桌面服务。Condition:是限制执行(访问)desktopservice的条件,我们可以从如下方面来限制:IP:用户的IP地址,Period:时间段,即不在这个系统时间内的对DesktopService的访问,Identity是不允许的。对于访问desktopservice来说,系统默认是没有Condition的限制。访问控制资源我们可以从组织、角色、用户三个层面来看SunOnePortal是如何实现对资源进行访问控制。首先要给根组织注册desktopservice,如果组织没有desktopservice,其下的用户没有desktopservice。ExecuteDesktopPolicy策略的建立是默认的。即所有的组织都可以访问Desktop而且根节点组织以下的组织都会继承这个Policy。如果对这个Policy做改动,其下的所有组织的Desktoppolicy都会跟着变化。根据组织的实际架构建立组织的层次关系。如:在js.cmcc组织下建立cmcc组织,再为cmcc注册desktopservice。如果cmcc组织的桌面和js.cmcc的不同。我们就对它的desktopservice进行修改。这主要通过修改displayprofile来完成的。因为cmcc的desktopservice的displayprofile的默认值是js.cmcc的displayprofile的值。因此我们只要对不同的地方做改动就可以了。这样凡是属于cmcc组织的用户登录后就会看到和在根组织下的用户不一样的桌面。这种在组织下面建立用户的做法,存在一个问题:如果用户的组织发生变化,如果精简一个部门,那么该部门下的用户都要重新分配组织,先除去原有的用户,再在新的组织下再建立。他们的密码和个性化的信息将丢失。为了解决这个问题,我们可以采取另一种方法:将用户都建立在根组织下,平行的。在根下建立组织机构。只是将组织信息作为用户的属性,付给用户,以备应用系统使用。结构如下:当用户的组织发生变化。只要修改他们的组织属性就可以了。但是这样的用户信息组织方式怎样进行访问控制呢?SunOneIdentityServe为我们提供role的用户权限划分方式同样可以实现资源的访问控制。这样的分配组织的方法也有个问题:用户不能直观的查看组织的用户情况。即不知道给定的组织下都有哪些用户。这个问题的解决方法有两种:1,按照组织和role的资源分配方式同时使用。即:建立相应固定的组织,将属于这些组的用户建立在他们的下边。如按照市、地区。对于那些相应易变的组织或一类资源分配组,我们就建立role的,然后将role分配给用户。2:资源的分配完全靠role来控制。所建立的组织下没有用户。用户都是平行的建立在根组织下的。我们需要开发一个组织用户的查看的界面,即选定给定的组织,界面就会显示出该组织的用户。SunOneIdentitySever的管理端
console有API可供对界面的开发。Role;有的页面定制不能按照组织划分,如:经理级别的用户可以查看“经营分析系统(JYFX)”的页面。这种情况需要通过role来完成。我们可以创建role:命名为“JYFX”,它的类型是service。修改service:点击JYFX。在右下frameset中,选择view值为service,待页面刷新后,点击Desktop,然后对Desktop的Tab和channel进行定制,修改它的displayprofile。定制的完成后,我们将经理级别的用户加入到JYFX角色中。这样用户登录后就可以看到经过定制后的JYFX页面了。对根组织的desktopservice进行页面设计。根组织的界面是对各个组织和角色都是通用的,是一个基本的架构。而其下的组织和角色的桌面定制都是对根组织desktopservice所定制的界面修改、添加或删除。DegelatedAdministratorDegelatedAdministrator是将组织的管理权限分配给组织的管理员。这项功能在组织庞大企业中有用。在这样的企业中,通过一个管理员帐户amadmin来管理所有的组织、角色、用户、页面是一件很繁重的事情。SunOneIdentityServer建立了很多servicerole用于管理用户和组织。如下的列表是default的roles:Top-LevelAdminGroupAdminOrganizationAdminOrganizationHelpDeskAdminPeopleContainerAdminContainerAdminContainerHelpDeskAdmin在这里比较有用处的是“ContainerAdmin”和“ContainerHelpDeskAdmin”。拥有“ContainerAdmin”role的用户可以管理同级组织下的所有用户的信息、service、policy和role等的信息。“ContainerHelpDeskAdmin”是读取同级组织下的用户的信息、service、policy和role等信息。它只能修改用户的password信息。Amadmin超级用户将这些有管理权限的角色分配个各个组织的指定用户,这些用户就成为这些组织的管理员,有权力来管理他们各自组织、用户的信息。具体的权限分配操作过程和普通role分配相同。客户化用户登录验证模块对于SunOneportal的登录过程(即在IdentityServer的验证过程)往往需要客户化。如完成:记录非法的用户尝试登录、记录特定用户的登录。从特定IP登录等工作。如何既确保用户安全顺利的登录,又能够达到我们的特殊需求。IdentityServer其实给我们提供了很方便的API来完成客户化的登录过程。下面就举例来简要说明需要修改哪些文件来完成这项工作:我们有一个开发好的登录验证模块:它包括:LoginModuleSample.jar和LoginModuleSample.xml,jar文件是LoginModuleSample.xml的内容:<?xmlversion='1.0'encoding="GBK"?> <ModulePropertiesmoduleName="LoginModuleSample"version="1.0"><Callbackslength="2"order="1"timeout="60"header="Thisisloginpage"><NameCallback><Prompt>yonghuming</Prompt></NameCallback><PasswordCallbackechoPassword="false"><Prompt>mima</Prompt></PasswordCallback></Callbacks></ModuleProperties>拷贝"LoginModuleSample.jar"到<install-root>/SUNWam/lib.拷贝"LoginModuleSample.xml"到"<install-root>/SUNWam/web-apps/services/config/auth/default".修改<install-root>/SUNWam/config/xml/amAuth.xml加入这个认证的方式,以供在SunoneIdentityServer的管理端选择。下面的内容是amAuth.xml的内容:<AttributeSchemaname="iplanet-am-auth-allowed-modules"
type="multiple_choice"
syntax="string"
i18nKey="a101">
<ChoiceValues>
<ChoiceValue>LDAP</ChoiceValue>
…
<ChoiceValue>SafeWord</ChoiceValue>
<ChoiceValue>SecurID</ChoiceValue>
<ChoiceValue>LoginModuleSample</ChoiceValue>
</ChoiceValues>
<DefaultValues>
<Value>LDAP</Value>
</DefaultValues></AttributeSchema><AttributeSchemaname="iplanet-am-auth-authenticators"
type="list"
syntax="string"
i18nKey="a117">
<DefaultValues>
<Value>com.sun.identity.authentication.modules.radius.RADIUS</Value><Value>com.sun.identity.authentication.modules.securid.SecurID</Value>
<Value>viders.LoginModuleSample</Value></DefaultValues></AttributeSchema>备份"iPlanetAMAuthService":cd<directory_install_root>/slapd-<hostname>./db2ldif-nuserRoot-s"ou=iPlanetAMAuthService,ou=services,<root_suffix>"将"LoginModuleSample.jar"文件的路径加入到WebserverJVM的classpath::cd<install-root>/SUNWam/servers/https-<host>.<domain>/config修改"jvm12.conf",加入"<install-root>/SUNWam/lib/LoginModuleSample.jar"路径到JVMclasspath变量中。保存退出。
测试登录模块:重新启动IdentityServer("<install-root>/SUNWam/bin/amserverstart")登录到IdentityServer的管理端"http://<host>.<domain>:<port>/<Console-Deploy-URI>"选择"UserManagement".选择top-levelorganization,并选择从"Show"菜单中选择services点击"IdentityServerCoreAuthentication"属性.从"AllowedAuthenticationModules"中选择"LoginModuleSample"点击"Submit"提交修改,并退出。访问http://<host>.<domain>:<port>/<Service-Deploy-URI>/UI/Login?module=LoginModuleSample&org=<org_url_query>.以检查登录模块是否工作正常。使用SSL访问SunOnePortal本部分描述为SunOnePortal配置SSL所需的整个任务。这些任务中的某些任务在SunOneWebServer上执行。这里概述了这些步骤概述:登录SunOneIdentitySever的管理端界面。在最高级别的组织(top-leve)的组织,点击“Properties”箭头。待OrganizationProperties的界面在右边展现出来后。在“FullDNSName”属性栏内,将http://改成https://点击“Save”按钮,保存更改。选择“ServiceConfiguration”模块,并选择“Platformservice”,在“ServerList”属性栏内,去除“http://”添加“https://”。登录“SunOneWebServer”的管理端界面。选择WebServer实例(instance),并点击管理。这时,会弹出一个对话框,点击“OK”即可。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年河南省洛阳市初中数学七年级期末下册点睛提升黑金考题附答案
- PCR混采检测专项考核试题及详细答案
- 铜冶炼吹炼工安全操作规程
- 2026年配电箱线路绝缘检测理论与实操模拟试卷及答案
- 2025-2026学年江苏省南通市初中历史七年级期末上册高分黑金试卷详细参考解析
- OUM运营管理岗位实操考核试题(含详细答案)
- 帕金森病吞咽障碍饮水安全照护规范共识
- 线上处方药学审核要点专家共识(2025版)
- 老旧厂区拆除及场地平整施工方案
- 中级刨工理论考试题库及答案
- 雨课堂学堂在线《人工智能安全与伦理(北京航空航天)》学堂云单元测试考核答案
- 《CPPC1080.1实验室智慧化建设和评价指南第1部分总则-》
- 人教版 二年级上册数学 第三单元《平均分-等分》课件
- 全国青少年科技辅导员专业水平认证笔试模拟试题(初级)(含参考答案)
- 广东省广州市2026年中考化学试题附答案
- 九年级道德与法治上册 8.3 推动高质量发展 教学设计
- 2026年现代自动化控制理论的研究进展
- 2026年合理用药知识培训课件
- 高考导数大题10种核心题型导学案(全真题详解)
- 2026年浙江省选调生笔试《综合能力测试》真题及答案解析
- 2026年信息系统监理师基础知识真题
评论
0/150
提交评论