先到http://www.jboss.org/jbosssso/downloads/这里下载jbosssso,目前的版本是1.0 CR1,建议Binary Distribution和Source Distribution都下载,因为binary里面有个test的例子可以学习,但是源代码在source里,闲话少说,下载完按照wiki上的Getting Started配置jbosssso的test
1、把jboss-sso-1.0CR1/bin下的jboss-sso.sar和jboss-federation-server.ear拷贝到 {JBOSS_HOME}/server/default/deploy目录下。把jboss-sso-test.ear也拷贝到刚才的目录里面
2、然后在server目录下,在建立一个default2的目录,把default里东西都拷贝到default2里面去
3、然后进入{JBOSS_HOME}/bin目录
./run.sh -c default -b node1.jboss.com (windows下的话运行:run -c default -b node1.jboss.com)
./run.sh -c default2 -b node1.jboss.org (for cross domain test) 跨域的
或者
./run.sh -c default2 -b node2.jboss.com (for same domain test) 同域的
4、在linux里要把下面的内容添加到/etc/hosts里面
127.0.0.1 node1.jboss.com
127.0.1.1 node1.jboss.org
127.0.2.1 node2.jboss.com
windows下的话我就不说了,大家都知道hosts文件在哪儿的 (C:/WINDOWS/system32/drivers/etc/hosts)
5、然后打开浏览器输入http://node1.jboss.com:8080/test能看到界面的话,就OK了。
不过这里还有个问题就是用什么用户去登录呢,找了一下,在jboss-sso.sar里面的jboss-identity-management.jar里,有个users_en.properties文件,用户就都在里面了。但是这里有个小小的问题,因为users_en.properties被载入的话,要求locale是英文,如果是中文的操作系统默认是不载入的,晕,把该文件重命名为users_zh.properties或者users.properties都行,按照3里面的再重启一下就好了。
下一步要研究一下自己应用和jbosssso如何结合了
注意:
测试plain下的jsp时,一直都不对,很是让我郁闷了一阵,最后发现原来是这样。
1、在test的例子中,有两个方面的实例,一个是JAAS SSO 对应的jsp在文件夹secure下,一个是Non-JAAS SSO,对应的jsp在文件夹plain下
2、默认使用的是JAAS SSO,如果想要测试Non-JAAS SSO,需要修改jboss-sso-test.ear/test.war/WEB-INF/下context.xml,将value换成如下就可以了,在这个文件中,这方面是写好的,只是注释掉了。
<Valve className="org.jboss.security.valve.SSOFederationRouter"/>
<Valve className="org.jboss.security.valve.PlainSSOAutoLogout"
logoutURL="/test/plain/logout.jsp" />
<Valve className="org.jboss.security.valve.PlainSSOTokenManager"
assertingParty="jboss_sso_tester" />
<Valve className="org.jboss.security.valve.PlainSSOAutoLogin" />