codepk
codepk
Code Pain Killer
1 post
give yourself a &lt b/&gt
Don't wanna be here? Send us removal request.
codepk · 11 years ago
Text
JOSSO Agent 1.8 Installation in JBOSS 7.1
After going through lots of websites & help from forums, was able to install JOSSO agent 1.8 on JBOSS 7.1.
Just to reduce pain for fellow developers, here are the details for the same.
First of all would like to appreciate the efforts put by JOSSO team they are doing a wonderful job & great framework.
Prerequisite
JBOSS 7.1 installed on linux
JBOSS 4.2 installed or any other Application server with josso gateway 1.8.5
1)  Open the file 
/credideal/JBOSS-7.1/standalone/deployments/PORTAL.war/WEB-INF/jboss-web.xml
if not present, copy the file attached
Set the context to the one same as the war name  
<context-root>/PORTAL</context-root>
Note the context path is casesensitive and should be same as that of your partner app
2) Copy the Attached
josso-1.2.wsdl & josso-1.2.xsd in the {JBOSS_HOME}/bin
3) Open josso-1.2.wsdl
Change the 8081 port to that of Gateway server
4) Download JOSSO 1.8.8 from 
http://sourceforge.net/projects/josso/files/JOSSO/JOSSO-1.8.8/josso-1.8.8.zip/download
5) Extract JOSSO to /creadideal - or any place you wish to.
6) Create empty folder in /credideal/josso-1.8.8/dist/agents/bin
Win32
Win64
7) Rename JBoss's  standalone.xml to default.xml
8) JOSSO Installation  - Start the putty and navigate to /credideal/josso-1.8.8/bin
Start josso using the following command
sh josso-gsh
9) Start installation using the following command
agent install --target /credideal/JBOSS-7.1 --platform jb7
--target indicates the path to the JBOSS server.
Tumblr media
All the status should be [OK] .. incase of [ERROR] OR [WARN]  please Solve the same and start the whole process again
10) Rename default.xml to standalone.xml & delete the files default.xml.bkp.1 default.xml.bkp.2 if present in the same folder
11) Delete the backup files from this path /credideal/JBOSS-7.1/modules/org/josso/main  namely *.bkp.1
12) Open /credideal/JBOSS-7.1/modules/org/josso/main/module.xml
Search josso-agents-bin-1.8.8-jaxws.jar
Replace the whole tag with this one
 <resource-root path="josso-agents-bin-1.8.8-jaxws.jar"  xmlns="urn:jboss:module:1.1"><filter><include path="META-INF/**" />  </filter> </resource-root> 
Add the following in the resource block
 <resource-root path="spring-core-2.5.5.jar" xmlns="urn:jboss:module:1.1"/> 
<resource-root path="spring-aop-2.5.5.jar" xmlns="urn:jboss:module:1.1"/> 
<resource-root path="xbean-spring-3.4.3.jar" xmlns="urn:jboss:module:1.1"/> 
<resource-root path="spring-beans-2.5.5.jar" xmlns="urn:jboss:module:1.1"/> 
<resource-root path="spring-context-2.5.5.jar" xmlns="urn:jboss:module:1.1"/> 
<resource-root path="spring-context-support-2.5.5.jar" xmlns="urn:jboss:module:1.1"/>
13) Copy all the jars from this path
/credideal/JBOSS-7.1/modules/org/springframework/spring/main 
to
/credideal/JBOSS-7.1/modules/org/josso/main
14) Copy the attached jar
spring-context-support-2.5.5.jar
to
/credideal/JBOSS-7.1/modules/org/josso/main
15) Replace the <dependency> block in /credideal/JBOSS-7.1/modules/org/josso/main/modules.xml
<dependencies> <module name="javax.security.auth.message.api"/> <module name="org.jboss.logging"/> <module name="javax.servlet.api"/> <module name="org.picketbox"/> <module name="org.jboss.as.web"/> <module name="org.apache.cxf"/> <module name="javax.api"/> <module name="javax.jms.api"/> <module name="javax.annotation.api"/> <module name="javax.mail.api"/> <module name="javax.activation.api"/> <module name="org.apache.commons.logging"/> <module name="javax.jws.api"/> <module name="javax.xml.ws.api"/> <module name="javax.xml.ws.api"/> <module name="javax.xml.rpc.api"/> <module name="javax.xml.bind.api"/> <module name="javax.wsdl4j.api"/> </dependencies>
16) Josso Agent Config Changes
Open the josso-agent-config.xml at  /credideal/JBOSS-7.1/modules/org/josso/main/config
Replace
xmlns:protocol="urn:org:josso:protocol:client" 
with
xmlns:protocol="urn:org:josso:protocol:client:jaxws"
Replace 
<protocol:ws-service-locator endpoint="localhost:8080" /> 
with
<protocol:jaxws-service-locator  endpoint="192.168.1.60:8888"   wsdlLocation="file:////credideal/JBOSS-7.1/bin/josso-1.2.wsdl"/> 
Note - The wsdlLocation is the place where you have copied the josso wsdl & endpoint is the JBOSS gateway's ip address.
Change the Login url 
<gatewayLoginUrl>http://localhost:8080/josso/signon/login.do</gatewayLoginUrl>
to <gatewayLoginUrl>http://192.168.1.60:8888/josso/signon/login.do</gatewayLoginUrl>
Note - the url http://192.168.1.60:8888 is the gateway url
Change the Logout url 
<gatewayLogoutUrl>http://localhost:8080/josso/signon/logout.do</gatewayLogoutUrl>
to  <gatewayLogoutUrl>http://192.168.1.60:8888/josso/signon/logout.do</gatewayLogoutUrl>
Replace 
<value>http://localhost:8080/IDBUS</value>
to
<value>http://192.168.1.60:8888/IDBUS</value>
Configure the partner app
<agent:partner-app id="MySimplePartnerApp" context="/simple-partnerapp"/>
to
<agent:partner-app id="sso"  context="/PORTAL"  defaultResource="Index.jsp"/>
Note the context value should be same as the one specified in /credideal/JBOSS-7.1/standalone/deployments/PORTAL.war/WEB-INF/jboss-web.xml  in tag  <context-root>/PORTAL</context-root>
17) Copy the login-redirect.jsp fromt he josso sample war
18) Most important & last step modify web.xml
Edit <url-pattern> in <security-constraint> with the resources you want to protect .
Example
<security-constraint> <!-- Sample Security Constraint --> <web-resource-collection>
<!-- We're going to protect this resource and make it available only to users in "role1". --> <url-pattern>/RedirectPage.jsp</url-pattern> <url-pattern>/Event.jsp</url-pattern> <url-pattern>/Index.jsp</url-pattern> <url-pattern>/Framewrk/*</url-pattern> <url-pattern>/config/*</url-pattern> <url-pattern>/document/*</url-pattern> <url-pattern>/log/*</url-pattern> <url-pattern>/resources/*</url-pattern> <url-pattern>/STD/*</url-pattern> <url-pattern>/Webservice/*</url-pattern> <url-pattern>/Browser.jsp</url-pattern> <url-pattern>/Common.jsp</url-pattern>
<http-method>HEAD</http-method> <http-method>GET</http-method> <http-method>POST</http-method> <http-method>PUT</http-method> <http-method>DELETE</http-method>
</web-resource-collection> <auth-constraint> <role-name>role1</role-name> </auth-constraint> <user-data-constraint> <transport-guarantee>NONE</transport-guarantee> </user-data-constraint>
<!-- No roles required, it means that this are public resources ! Usefull to tell JOSSO that resources matching this security constraint should not be subject to SSO protection. --> </security-constraint>
Note - JOSSO agent will check for authenticated access to above url patterns & if not then it will redirect to Login page of the gateway.
Start JBOSS and try accessing the protected url , you should be redirected to the login page of the JOSSO Gateway.
Following are the files shared for your reference and the one you will require for installation
Download installation required files
Please revert in case you need any help in installation.
0 notes