[JBoss Portal] - Using JBoss Portal and CAS to implement SSO for external app
by Andergast
Greetings,
I have setup JBoss Portal and CAS to authenticate against my LDAP system and everything is working well. Now I tried to integrate an external J2EE application running in a separate tomcat using the IFramePortlet from Portletswap. This application authenticates against the CAS using Soulwing CAS client from http://www.soulwing.org which is also working correctly.
My problem is that I can login to the portal, but it seems that the ticket from CAS is not propagated to the IFramePortlet and thus, it only shows the CAS login screen (which is correct in case the external app. does not receive a valid ticket). Another login with the same credentials here finally gives access to the external application.
Furthermore, I am not able to read any CAS-related information from the session, i.e. via
session.getAttribute("edu.yale.its.tp.cas.client.filter.user")
in a JSP. This is only returning null and I suspect that there is no ticket present in the session or it has been removed somehow, as the first login to the portal is apparently granting a valid ticket:
2008-02-17 16:07:34,828 INFO [STDOUT] 2008-02-17 16:07:34,827 INFO [org.jasig.cas.CentralAuthenticationServiceImpl] - <Granted service ticket [ST-1-5307CdujPPXozCAjlrjF] for service [http://localhost:8080/portal/auth/dashboard] for user [user]>
Any help on how to pass the ticket to the application in IFramePortlet is greatly appreciated... (Sohil? ;-) )
Many thanks in advance,
Chris
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4129901#4129901
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4129901
18 years, 2 months
[JBoss Seam] - Seam Tomcat Deployment: EJB beans contained in non-applicati
by Nikolay.Chorniy
Hi everyone!
I have a problem in project deployment. For technical requirements of Seam 1.2.1 GA based project I develop, Tomcat deployment with EJB3 enabled is used.
The result war file structure looks like this:
application.war
|
- WEB-INF
| |
| -components.xml
| -web.xml
| -pages.xml
| |
| - lib
| | |
| | -application.jar
| | | |
| | | -... {EJB bean classes}
| | | |
| | | -seam.properties
| | | |
| | | -META-INF
| | | |
| | | -ejb-jar.xml
| | | -jboss-beans.xml
| | | -persistence.xml
| | |
| | -entities.jar
| | | |
| | | -... {Entity bean classes}
| | | |
| | | -seam.properties
The problem is that all EJB beans contained in application.jar are deployed, but entity beans in entities.jar are not deployed, though JBoss MicroContainer determines that file (seam.properties is included).
Copying entities.jar file content to application.jar solves the problem (EJB entitiy beans are deployed), but that is surely far from smart.
Thanks a lot for any help!
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4129889#4129889
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4129889
18 years, 2 months
[JNDI/Naming/Network] - JNDI looking up problem from servlet container
by kmalinow
Hi,
I made a very simple session bean which has only one for testing purposes business method 'saying':
public String saying(String name) throws EJBException {
| // rename and start putting your business logic here
| return "Have a nice day " + name;
| }
The bean was deployed correct, notified by JBoss (actually 4.0.3):
14:26:10,824 INFO [EjbModule] Deploying Hello
14:26:11,073 INFO [EJBDeployer] Deployed: file:/D:/jboss-4.0.2/server/pzuci/deploy/HelloEJB.jar/
Then I made a test client, the core part of that is:
public static void main(String[] args) {
| // TODO Auto-generated method stub
| Hashtable<String, String> props = new Hashtable<String, String>();
| props.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
| props.put(Context.PROVIDER_URL, "localhost:1099");
|
| try {
| Context cx = new InitialContext(props);
| HelloHome helloHome = (HelloHome) cx.lookup("java:/Hello");
| Hello hello = helloHome.create();
| System.out.println(hello.saying("Jhon B"));
| hello.remove();
| } catch (Exception e) {
| // TODO Auto-generated catch block
| e.printStackTrace();
| }
| }
It works fine, but if I tried to addapt the same manner into the simple test servlet, it didn't work. I used the same proxy to the interfaces:
Hashtable<String, String> props = new Hashtable<String, String>();
| props.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
| props.put(Context.PROVIDER_URL, "localhost:1099");
I don't get exspected message from the business method 'saying', instead the test servelt notifies me:
Hello not bound
How should I obtain the home EJB interface from servlet container?
I'd be glad for some help
KM
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4129887#4129887
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4129887
18 years, 2 months