Opensso安装说明网络版.docx
《Opensso安装说明网络版.docx》由会员分享,可在线阅读,更多相关《Opensso安装说明网络版.docx(26页珍藏版)》请在冰豆网上搜索。
Opensso安装说明网络版
Opensso安装说明v0.1
各程序版本及地址
1.JDK5或JDK6或以上
2.GlassFishV2.x
3.OpenSSOEnterprise8.0
4.J2EEAgent3.0ForTomcat6.x
GlassFish安装
本实例使用的GlassFish版本:
GlassFishServerv2.1
(下载地址:
安装参考:
为了安装和配置GlassFish你需要安装JDK5或JDK6。
配置过程将由Ant(1.6.5)来执行。
在软件包中已经包含了Ant,它可以被用来协助JavaEE5应用程序的开发。
1下载任一软件包到磁盘,并在系统中设置JAVA_HOME系统变量。
2运行:
%java-Xmx256m-jarfilename.jar
3这条指令将会解压GlassFish软件包并创建一个新的文件夹叫“glassfish”的文件夹。
%cdglassfish
4如果你使用的是UNIX(tm)或Linux操作系统,设置Ant的执行权限:
%chmod-R+xlib/ant/bin
%lib/ant/bin/ant-fsetup.xml
或在Windows下:
%lib\ant\bin\ant-fsetup.xml
对于GlassFishV2UR1包括集群支持的安装,只需要将以上的第四个步骤更换为:
%lib/ant/bin/ant-fsetup-cluster.xml
或在Windows下:
%lib\ant\bin\ant-fsetup-cluster.xml
5为了安装OpenSSO,对GlassFish做一些配置
1)切换至root,进入GlassFish的bin目录
#cdGlassFish-install-dir/bin
GlassFish-install-dir是GlassFish的安装目录,如:
/usr/local/glassfish
2)启动要安装OpenSSO的domain,如:
domain1
./asadminstart-domainGlassFish-domain
3)配置GlassFish,更改如下JVM选项:
a.把-client改为-server
b.把-Xmx512m改为-Xmx1024m
I.以下是使用命令行方式:
#./asadmindelete-jvm-options--portGlassFish-admin-port--useradmin"\-client"
#./asadmincreate-jvm-options--portGlassFish-admin-port--useradmin"\-server"
#./asadmindelete-jvm-options--portGlassFish-admin-port--useradmin"\-Xmx512m"
#./asadmincreate-jvm-options--portGlassFish-admin-port--useradmin"\-Xmx1G"
(注:
GlassFish-admin-port是GlassFish控制台端口,默认为4848
如果使用参数"\-client"或"\-Xmx512m"报错的话,把"\"改为"\\",如:
"\\-client")
II.控制台方式:
打开GlassFish控制台(如:
http:
//localhost:
4848/),登录
点击ApplicationServer菜单
然后选择JVMSetting->JVMOptions
修改-Xmx512M和-client,如果没有这两个选项,选择添加
4)重新启动GlassFish
#cdGlassFish-install-dir/bin
#./asadminstop-domainGlassFish-domain
#./asadminstart-domainGlassFish-domain
OpenSSO部署与配置
1.部署
由于OpenSSO必须用域名方式访问,不可以用IP或localhost,所以本例中假定域名为:
本例使用的是GlassFishV2.1,以后如果使用GlassFishV3Prelude,在登录OpenSSO如果出现登录不了,或是死循环的话,在GlassFish的jvmoptions里再添加一项:
-Dcom.iplanet.am.cookie.c66Encode=true
把OpenSSO部署到GlassFish有三种方式,
1)自动部署
把OpenSSO-staging-dir/opensso/deployable-war/opensso.war文件放到GlassFish-install-dir/domains/GlassFish-domain/autodeploy目录即可,GlassFish会自动解包部署,解包后的目录生成在GlassFish-install-dir/domains/GlassFish-domain/applications/j2ee-modules目录下,
如:
/usr/local/glassfish/domains/domain1/applications/j2ee-modules/opensso
2)命令行方式
#cdGlassFish-install-dir/bin
#./asadmindeploy--useradmin--passwordfile/tmp/pwdfile--portGlassFish-admin-port--context-rootopensso--nameopenssoOpenSSO-staging-dir/opensso/deployable-war/opensso.war
(注:
OpenSSO-staging-dir/opensso/deployable-war/opensso.war为opensso.war文件地址
/tmp/pwdfile是admin用户的登录密码文件,内容为:
AS_ADMIN_PASSWORD=password,把password改为登录密码即可)
3)控制台方式
a.打开部署了OpenSSO的domain,如:
:
4848/
b.登录后台,GlassFish的默认用户名/密码为:
admin/adminadmin
c.在控制台左侧的菜单中展开Applications菜单,然后选择WebApplications
d.在右侧的页面中选择Deploy来部署OpenSSO
e.在部署页面,选择opensso.war文件部署
e.点击OK开始部署,查看是否部署成功请打开:
:
8080/opensso浏览页面
2.配置
1.在浏览器中打开opensso页面,如:
:
8080/opensso,这时会出现opensso的配置页面
2.选择右边的"自定义配置->创建新配置"
3.输入默认管理员用户"amadmin"的密码
4.服务器设置,默认即可
6.存储库配置,使用默认选项即可
7.用户数据存储库配置,这里要选择"OpenSSO用户数据存储库"
8.站点配置选择"否"
9.输入agenturl密码
10.配置摘要页,如果配置没有问题,点击创建配置
11.配置完成后,出现配置成功页面,到此,opensso安装配置完成.
Agent配置
1.服务器端Agent配置
Agent的做用是拦截访问被保护资源的请求并进行用户验证,agent与opensso服务器端交互共同完成访问控制.
1)打开浏览器,访问OpenSSO控制台并登录,如:
http:
//opensso.example.Com:
8080/opensso,默认管理用户为:
amadmin,密码是在安装时填写的密码.
2)点击"访问控制",再选"顶层领域"
3)选择"代理->J2EE",在代理下选择"'新建"
4)填写新Agent相应信息
a)名称:
agent的名称,在客户端安装agent时要使用此名称
b)密码:
访问agent的密码
c)配置:
"本地"是使用agent客户端的配置文件;"集中"是使用服务器端的配置文件.这里要选择"集中",以方便在服务器端配置agent的访问规则.
d)服务器URL:
OpenSSO所在的服务器地址,如:
:
8080/opensso.(注:
要使用域名访问,端口号要加上)
e)代理URL:
安装代理的客户端地址.如:
:
8080/agentapp,(注:
一个tomcat只能安装一个agent,这个agent会作用于所以此tomcat下的工程.)
5)点击创建,完成新建代理.
6)在"J2EE"选项卡中,点击刚才新建的Agent,如本例中是"myagent"
7)在"全局"选项卡下点击"常规"
8)"常规"中的"代理过滤模式"的默认值是"ALL",在这里我们要选择SSO_ONLY.首先选中"ALL",点击删除按钮,然后增加新值.在"映射关键字"输入框中留空,什么也不填写(这样过滤器就可以做用于所以访问请求,如果填写具体值,如:
/myapp/test.jsp的话,那么此过滤器就只做用于具体页面.),在"对应的映射值"输入框中填写"SSO_ONLY",点击"添加",并点击页面右上角的保存.(一定要记得保存,否则设置不生效).
9)由于此选项不是热交换,所以要使他生效必须重新启动GlassFish服务器.
至此,Agent服务器端的基本配置已经完成,待把Agent客户端配置完成后,我们再回来配置访问规则.
2.客户端Agent配置
客户端Agent是运行在项目所在服务器(tomcat)下的一个守护进程,他负责根据安全策略拦截访问请求,并进行验证,认证通过放行,不通过则不允许访问受保护资源.
本例中假设tomcat目录为/usr/local/demo/tomcat-6.0.18,
下载的agent(如:
tomcat_v6_agent_3.zip)解压在了/usr/local/demo/tomcat_v6_agent目录下
注:
1.如果在Linux中安装Agent的话,确保你所使用的用户有tomcat目录文件的写权限.
2.安装Agent时要关闭tomcat.
1)进入目录:
/usr/local/demo/tomcat_v6_agent/bin
如果在Linux下安装,也许agentadmin文件没有执行权限,执行以下命令添加执行权限.
#chmod755agentadmin
2)执行安装命令
#./agentadmin--install
或
#./agentadmin--custom-install(注:
custom安装指示要回答的问题比普通安装多一些,一般用普遍安装--install即可)
Windows下使用agentadmin.bat命令
agentadmin.bat--install
或
agentadmin.bat--custom-install
3)根据安装提示进行安装
-------------------
样例
-------------------
TomcatServerConfigDirectory:
/usr/local/demo/tomcat-6.0.18/conf
$CATALINA_HOMEenvironmentvariable:
/usr/local/demo/tomcat-6.0.18
OpenSSOserverURL:
http:
//opensso-:
8080/opensso
AgentURL:
http:
//agent-:
8090/agentapp
EncryptionKey:
oyFk4DYaNB2kc6MeJ2xnK4hbWtFhabsZ
AgentProfilename:
myagent
AgentProfilePasswordfilename:
/usr/local/demo/tomcat_v6_agent/tomcat6agentpwd
AgentProfilewillbecreatedrightnowbyagentinstaller:
true
AgentAdministrator:
amadmin
AgentAdministrator’spasswordfilename:
/usr/local/demo/tomcat_v6_agent/amadminpwd
Asdfasdfasdf
a.License,直接输入n
b.是否同意License
c.Tomcat/conf目录地址
d.OpenSSO服务器地址
e.Tomcat根目录地址
f.是否更改conf/Web.xml文件,选择是,这里修改了就不用在每个工程下再修改相应的XML文件了
g.AgentUrl部署agent的地址
h.Agent名称,这里填写的是我们之前在opensso服务器上建立的名称
i.Agentpassword文件地址,这个文件是个纯文本文件,内容是myagent的密码.
j.访问是否安装
k.完成安装
附录
跳转循环解决办法
1.设置SSO_ONLY
访问控制->顶层领域->代理->J2EE->代理例的名字->全局->常规
在代理过滤器模式里添加SSO_ONLY
点击添加,最后别忘了保存,然后重启GlassFish使服务生效.
2.设置对cookie值加密
登录OpenSSO后台,依次点击配置->服务器和站点->服务器名称
进入服务器设置页面后再点安全->继承设置
把对cookie值编码上的勾去掉
点击保存,然后点击返回至服务器配置文件
然后点击cookie
把对cookie值编码的勾选上
最后点击保存,重启GlassFish和tomcat使设置生效.
博客分类:
∙sso
1,下载PolicyAgent
http:
//www.forgerock.org/downloads/openam/j2eeagents/stable/3.0.2/tomcat_v6_agent_302.zip
2,配置tomcat,不要和openam用同一个端口。
我用的是两个tomcat,分别监听两个端口。
tomcat1,端口8080,作为application服务器,agent指向这里。
tomcat2,端口9080,作为openam服务器。
PS:
系统环境变量中的CATALINA_HOME指向的是tomcat1。
3,保证JAVA_HOME已经在环境变量中配置。
4,建立一个密码文件。
建立一个pswd.txt,里面的内容写着realsmyagent。
名字内容随便起。
5,在OpenAM中,配置一个AgentProfile。
访问控制–顶层领域–代理–J2EE,然后在代理中选择新建。
配置如下:
名称,随便,后面会用到。
密码,和刚才设置的pswd.txt中的一致,这里都为,realsmyagent。
服务器url,:
9080/openam
代理url,:
8080/agentapp
6,设置c66Encode属性。
配置–服务器和站点–点击列表中的服务器
新建一对属性,com.iplanet.am.cookie.c66Encode,值为true。
7,开始安装policyagent。
在控制台进入目录:
D:
\temp\tomcat_v6_agent\bin
执行命令:
agentamin.bat–install,然后按照提示进行设置。
1)一顿回车,同意lisence。
2)yes
3)D:
\Apache\tomcat-6.0.32\conf
4):
9080/openam
5)D:
\Apache\tomcat-6.0.32
6)true
7):
8080/agentapp
8)realsmyagent
9) D:
\temp\pswd.txt
10)1
8,安装完成。
9,把D:
\temp\tomcat_v6_agent\sampleapp\dist下的agentsample.war拷贝到tomcat1下的webapp中。
10,启动tomcat1。
11,测试SSO。
访问:
8080/agentsample
成功的话,应该自动转向openam的登录画面,输入用户名密码登录后,又自动跳转到:
8080/agentsample中。
--EndFragment-->