It shouldn't... if you apply the SSOValve at the host or engine levels,
then all web apps underneath will then be using the SSOValve via
inheritance.

Jeff

Vamsavardhana Reddy wrote:
> Seeing your reply, I have to add the following to my original comments.
> 
> I have tested SSO with two WebApps deployed as part of an EAR.  I do not
> know if enabling SSO for Web Apps deployed independently requires any
> changes in their deployment plans.
> 
> Thanks,
> Vamsi
> 
> On 8/7/06, *Paul McMahan* <[EMAIL PROTECTED]
> <mailto:[EMAIL PROTECTED]>> wrote:
> 
>     I looked at using the Tomcat SSOValve for GERONIMO-973 and had a
>     similar experience -- i.e. it works fine but may not be appropriate in
>     many situations.  As I recall, what it basically does is stores the
>     credentials in a cookie with higher level scope, making it visible to
>     all the applications in the server instead of just the one that was
>     originally authenticated.
> 
>     Since logging into the admin console should not grant access to other
>     applications deployed in the server I ended up using a different
>     approach for GERONIMO-973, which was to send all requests through a
>     single context that acted as a proxy for the other context(s).  This
>     works for SSO across multiple WARs in an EAR but may not work for SSO
>     across EARs.  See the comments in to GERONIMO-973 for details.  Your
>     idea for defining multiple hosts might be a clever way to work around
>     that issue.
> 
>     As Jeff points out, it should not be necessary to rebuild the server
>     to use the SSOValve (unless something has changed recently). I just
>     enabled it in var/config/config.xml.
> 
>     Best wishes,
>     Paul
> 
>     On 8/7/06, Jeff Genender <[EMAIL PROTECTED]
>     <mailto:[EMAIL PROTECTED]>> wrote:
>     > Why does the server need to be built with the SSOValve?
>     >
>     > You should be able to connect the SSOValve to the TomcatEngine in the
>     > config.xml.
>     >
>     > Jeff
>     >
>     > Vamsavardhana Reddy wrote:
>     > > I could get SSO Working on a server build with SSOValve GBean in
>     the
>     > > tomcat plan.  In this case the application deployment plans
>     needed no
>     > > change as mentioned in the post that Krish pointed to.
>     > >
>     > > Here are some of my observations.
>     > >
>     > > An SSOValve GBean created as part of the application needs to be
>     > > connected to TomcatEngine so that SSO works.  To do so, either the
>     > > FirstValve in TomcatEngine needs to be replaced with this
>     SSOValve or a
>     > > "NextValve" attribute should be added to the FirstValve and it
>     should be
>     > > made point to the SSOValve.  I guess there is only one TomcatEngine
>     > > GBean in the server and I don't think it should be modified to
>     suit the
>     > > needs of two or more applications that need SSO.
>     > >
>     > > Other way is to have multiple hosts defined in the tomcar plan
>     and and
>     > > one of them could have an SSOValve in the chain.  All apps that
>     want SSO
>     > > can use that host.
>     > >
>     > > In either case, the server needs to built with SSOValve GBean.
>     > >
>     > > With what G provides right now, there is noway that an SSOValve
>     GBean is
>     > > created as part of an application and hooked to the TomcatEngine.
>     > >
>     > > Comments?
>     > >
>     > > Thanks,
>     > > Vamsi
>     > >
>     > > On 8/2/06, *Krishnakumar B* < [EMAIL PROTECTED]
>     <mailto:[EMAIL PROTECTED]>
>     > > <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>> wrote:
>     > >
>     > >     Hi Joe,
>     > >
>     > >     I have also tried this and was able to get it to work by
>     doing a build
>     > >     with SSOValve GBean open.
>     > >
>     > >     Refer to earlier post :
>     > >     http://www.nabble.com/SSO-in-Tomcat-tf1478623.html#a4001647
>     <http://www.nabble.com/SSO-in-Tomcat-tf1478623.html#a4001647>
>     > >     <http://www.nabble.com/SSO-in-Tomcat-tf1478623.html#a4001647>
>     > >
>     > >     I was not able to get it to work by deploying a new Valve
>     along with 2
>     > >     web applications that need SSO.
>     > >
>     > >     Regards
>     > >     Krish.
>     > >
>     > >     On 8/1/06, Joe O'Pecko <[EMAIL PROTECTED]
>     <mailto:[EMAIL PROTECTED]>
>     > >     <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>> wrote:
>     > >     > I know this has been discussed in the past, and I
>     > >     > apologize for the lengthy inquiry, however, I have
>     > >     > been trying unsuccessfully to get SSO working with
>     > >     > Tomcat on Geronimo v1.0 for some time. I am deploying
>     > >     > an application as an ear file with two war files
>     > >     > contained within. My geronimo-application.xml file
>     > >     > contains a definition for a JAAS Security Realm and
>     > >     > the two WAR file's geronimo-web.xml reference it via
>     > >     > security-realm-name elements. Once deployed each web
>     > >     > application challenges the user upon first access,
>     > >     > using the configured JAAS LoginModule. I'd like to
>     > >     > establish a SSO trust between the two web
>     > >     > applications, if possible, so that a user is only
>     > >     > challenged once for both web applications.
>     > >     >
>     > >     > I've seen a previous post on this site entitled Single
>     > >     > Sign On : Tomcat in Geronimo
>     > >     > (http://tinyurl.com/lkgjy) which seemed to provide
>     > >     > some information. Basically, it suggested the addition
>     > >     > of a SSOValve GBean to the geronimo-web.xml file. As
>     > >     > suggested, I've added the SSOValve to each
>     > >     > geronimo-web.xml and confirmed that I could see them
>     > >     > running in the deploy-tool web application. However,
>     > >     > each application has its own SSOValve GBean running
>     > >     > which leads me to believe that they do not share
>     > >     > anything between them.
>     > >     >
>     > >     > I've also seen Aaron Mulder's website which states
>     > >     > that Geronimo does not natively support web-based
>     > >     > single sign-on across web sites
>     > >     > (http://tinyurl.com/qa9bl).
>     > >     >
>     > >     > So is it possible to provide Single Sign On accross
>     > >     > web applications? I've attached my config files below
>     > >     > if it helps.
>     > >     >
>     > >     > Thanks in advance for any help and information you can
>     > >     > provide.
>     > >     >
>     > >     > Joe
>     > >     >
>     > >     > ---begin geronimo-application.xml---
>     > >     > <?xml version="1.0" encoding="UTF-8"?>
>     > >     >
>     > >     > <application
>     > >     >
>     > >     > xmlns="http://geronimo.apache.org/xml/ns/j2ee/application";
>     > >     >
>     > >     > xmlns:sec=" http://geronimo.apache.org/xml/ns/security-1.1";
>     > >     >    configId="com/foo/test"
>     > >     >    parentId="geronimo/j2ee-server/1.0/car">
>     > >     >
>     > >     >    <dependency>
>     > >     >        <groupId>log4j</groupId>
>     > >     >        <artifactId>log4j</artifactId>
>     > >     >        <version> 1.2.8</version>
>     > >     >    </dependency>
>     > >     >
>     > >     >    <sec:security>
>     > >     >        <sec:default-principal realm-name="foo-realm">
>     > >     >            <sec:principal
>     > >     >
>     > >     >
>     > >    
>     class="org.apache.geronimo.security.realm.providers.GeronimoUserPrincipal
>     "
>     > >     >                name="anonymous"/>
>     > >     >        </sec:default-principal>
>     > >     >        <sec:role-mappings>
>     > >     >            <!--
>     > >     >                this mapping maps all users in the
>     > >     > registeredUsers group to registered-users role
>     > >     >                defined in web.xml
>     > >     >            -->
>     > >     >            <sec:role role-name="FOO_ADMIN">
>     > >     >                <sec:realm realm-name="foo-realm">
>     > >     >                    <sec:principal
>     > >     >
>     > >     >
>     > >    
>     
> class="org.apache.geronimo.security.realm.providers.GeronimoGroupPrincipal"
>     > >     >                        name="foo_admin"/>
>     > >     >                </sec:realm>
>     > >     >            </sec:role>
>     > >     >            <sec:role role-name="FOO_USER">
>     > >     >                <sec:realm realm-name="foo-realm">
>     > >     >                    <sec:principal
>     > >     >
>     > >     >
>     > >    
>     
> class="org.apache.geronimo.security.realm.providers.GeronimoGroupPrincipal"
>     > >     >                        name="foo_user"/>
>     > >     >                </sec:realm>
>     > >     >            </sec:role>
>     > >     >
>     > >     >        </sec:role-mappings>
>     > >     >    </sec:security>
>     > >     >
>     > >     >    <gbean name="foo-realm"
>     > >     >
>     class="org.apache.geronimo.security.realm.GenericSecurityRealm">
>     > >     >        <!--
>     > >     >            this is the name of the Security Realm as
>     > >     > well as the name
>     > >     >            of the configuration entry used by the
>     > >     > application
>     > >     >        -->
>     > >     >        <attribute
>     > >     > name="realmName">foo-realm</attribute>
>     > >     >
>     > >     >        <!--
>     > >     >            reference to the head of the login module
>     > >     > use list
>     > >     >        -->
>     > >     >        <reference name="LoginModuleConfiguration">
>     > >     >            <name>foo-login</name>
>     > >     >        </reference>
>     > >     >
>     > >     >        <reference name="ServerInfo">
>     > >     >
>     > >     >
>     > >    
>     
> <gbean-name>geronimo.server:J2EEApplication=null,J2EEModule=geronimo/j2ee-system/1.0/car,J2EEServer=geronimo,j2eeType=GBean,name=ServerInfo</gbean-name>
>     > >     >        </reference>
>     > >     >
>     > >     >        <reference name="LoginService">
>     > >     >
>     > >     >
>     > >    
>     
> <gbean-name>geronimo.server:J2EEApplication=null,J2EEModule=geronimo/j2ee-security/1.0/car,J2EEServer=geronimo,j2eeType=JaasLoginService,name=JaasLoginService</gbean-name>
> 
>     > >
>     > >     >        </reference>
>     > >     >    </gbean>
>     > >     >
>     > >     >    <!--
>     > >     >        this is the head of the login module use list
>     > >     >    -->
>     > >     >    <gbean name="foo-login"
>     > >     > class=" org.apache.geronimo.security.jaas.JaasLoginModuleUse">
>     > >     >        <!-- login module must succeed -->
>     > >     >        <attribute
>     > >     > name="controlFlag">REQUIRED</attribute>
>     > >     >
>     > >     >        <!-- reference to the login module -->
>     > >     >        <reference name="LoginModule">
>     > >     >            <name>foo-login</name>
>     > >     >        </reference>
>     > >     >    </gbean>
>     > >     >
>     > >     >    <!-- the login module GBean -->
>     > >     >    <gbean name="foo-login"
>     > >     > class="org.apache.geronimo.security.jaas.LoginModuleGBean">
>     > >     >        <attribute name="loginModuleClass">
>     > >     >            com.foo.FooLoginModule
>     > >     >        </attribute>
>     > >     >        <attribute name="serverSide">true</attribute>
>     > >     >        <attribute
>     > >     > name="loginDomainName">foo-realm</attribute>
>     > >     >    </gbean>
>     > >     >
>     > >     >    <gbean name="FooServer"
>     > >     >           class="com.foo.FooServerGBean"
>     > >     >
>     > >     > gbeanName="com.foo.fooserver:type=Server,name=GUIServer">
>     > >     >        <attribute name="baseDirectory"
>     > >     > type="java.lang.String">
>     > >     >           /home/foo
>     > >     >        </attribute>
>     > >     >    </gbean>
>     > >     > </application>
>     > >     > ----end geronimo-application.xml----
>     > >     >
>     > >     >
>     > >     > ---begin first geronimo-web.xml---
>     > >     > <?xml version="1.0" encoding="UTF-8"?>
>     > >     > <web-app
>     > >     >
>     > >     > xmlns=" http://geronimo.apache.org/xml/ns/j2ee/web-1.0";
>     > >     >    configId="com/foo/contextOne">
>     > >     >
>     > >     >    <context-root>/contextOne</context-root>
>     > >     >
>     > >     >
>     <context-priority-classloader>false</context-priority-classloader>
>     > >     >
>     > >     >
>     > >     >    <container-config>
>     > >     >        <!--  Tomcat-specific container declarations
>     > >     > -->
>     > >     >        <tomcat
>     > >     >
>     xmlns="http://geronimo.apache.org/xml/ns/j2ee/web/tomcat-1.0/config
>     <http://geronimo.apache.org/xml/ns/j2ee/web/tomcat-1.0/config>">
>     > >     >            <valve-chain>SSOValve</valve-chain>
>     > >     >        </tomcat>
>     > >     >    </container-config>
>     > >     >
>     > >     >
>     > >     > <security-realm-name>netcool-realm</security-realm-name>
>     > >     >
>     > >     >    <gbean name="SSOValve"
>     > >     > class=" org.apache.geronimo.tomcat.ValveGBean">
>     > >     >        <attribute name="className">
>     > >     >
>     > >     > org.apache.catalina.authenticator.SingleSignOn
>     > >     >        </attribute>
>     > >     >    </gbean>
>     > >     >
>     > >     > </web-app>
>     > >     > ----end first geronimo-web.xml----
>     > >     >
>     > >     >
>     > >     > ---begin second geronimo-web.xml---
>     > >     > <?xml version="1.0" encoding="UTF-8"?>
>     > >     > <web-app
>     > >     >
>     > >     > xmlns="http://geronimo.apache.org/xml/ns/j2ee/web-1.0";
>     > >     >    configId="com/foo/contextTwo">
>     > >     >
>     > >     >    <context-root>/contextTwo</context-root>
>     > >     >
>     > >     >
>     <context-priority-classloader>false</context-priority-classloader>
>     > >     >
>     > >     >
>     > >     >    <container-config>
>     > >     >        <!--  Tomcat-specific container declarations
>     > >     > -->
>     > >     >        <tomcat
>     > >     >
>     xmlns="http://geronimo.apache.org/xml/ns/j2ee/web/tomcat-1.0/config
>     <http://geronimo.apache.org/xml/ns/j2ee/web/tomcat-1.0/config>">
>     > >     >            <valve-chain>SSOValve</valve-chain>
>     > >     >        </tomcat>
>     > >     >    </container-config>
>     > >     >
>     > >     >
>     > >     > <security-realm-name>netcool-realm</security-realm-name>
>     > >     >
>     > >     >    <gbean name="SSOValve"
>     > >     > class=" org.apache.geronimo.tomcat.ValveGBean">
>     > >     >        <attribute name="className">
>     > >     >
>     > >     > org.apache.catalina.authenticator.SingleSignOn
>     > >     >        </attribute>
>     > >     >    </gbean>
>     > >     >
>     > >     > </web-app>
>     > >     > ----end second geronimo-web.xml----
>     > >     >
>     > >     >
>     > >     >
>     > >     >
>     > >     > __________________________________________________
>     > >     > Do You Yahoo!?
>     > >     > Tired of spam?  Yahoo! Mail has the best spam protection
>     around
>     > >     > http://mail.yahoo.com
>     > >     >
>     > >
>     > >
>     >
> 
> 

Reply via email to