Here is what I did to resolve the problem:

1) I have create a filter that build the servicesProperties url in a
static property. This is the code:
public class CasAcegiServicePropertyFilter implements Filter {
    public static String casAcegiServicePropertyValue=null;
    private static final Log log =
LogFactory.getLog(CasAcegiServicePropertyFilter.class);

public void doFilter(ServletRequest req, ServletResponse res,
FilterChain chain) throws IOException, ServletException {
        if(casAcegiServicePropertyValue==null){
            HttpServletRequest request = (HttpServletRequest)req;
            String cp = request.getContextPath();
            if(!cp.startsWith("/"))cp="/"+cp;
            
            casAcegiServicePropertyValue = 
                        request.getScheme()+
                        "://"+request.getLocalAddr()+
                        ":"+request.getLocalPort()+
                        cp+
                        "/j_acegi_cas_security_check";
                log.info("casAcegiServicePropertyValue:"+
                                casAcegiServicePropertyValue);
        }
        chain.doFilter(req, res);
    }

2) I have subclassed ServiceProperties in this way:
    
public String getService() {
   if(super.getService()!=null) return super.getService();
   else return
CasAcegiServicePropertyFilter.casAcegiServicePropertyValue;
   }

3) I have configured the CasAcegiServicePropertyFilter how first and
serviceProperties with no service url.

Seems to work well.........WHAT DO YOU THINK?
Thanks
Mario

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf
Of Ray Krueger
Sent: 19 gennaio 2007 15.14
To: acegisecurity-developer@lists.sourceforge.net
Subject: Re: [Acegisecurity-developer] Setting serviceProperties in
Acegi

OK...

Subclassing ServiceProperties isn't going to do any good, because you
don't have access to the HttpRequest.

You can use a PropertyPlaceHolderConfigurer so that your xml looks
like...
<bean id="serviceProperties"
class="org.acegisecurity.ui.cas.ServiceProperties">
    <property
name="service"><value>${serviceProperties.serviceUrl}</value></property>
    <property name="sendRenew"><value>false</value></property>
</bean>

And then you can externalize these deployment specific parameters into
a properties file that gets setup at the client site.

We should consider adding a hookmethod into the
CasProcessingFilterEntryPoint to allow customization of how the
serviceUrl is added to the cas redirect.

Oh, and a little tip, you don't have to hard code the http:// part you
can use request.getScheme() (terrible name, go Sun).


On 1/19/07, Ray Krueger <[EMAIL PROTECTED]> wrote:
> Now that I read your email a little more thoroughly, let me take a
> closer look. Personally I've never used the CAS support in Acegi.
>
> I'll get back to you in a minute or two :)
>
>
> On 1/19/07, [EMAIL PROTECTED]
<[EMAIL PROTECTED]> wrote:
> > Sorry Ray, but how can I use PropertyPlaceholderConfigurer for this
> > scope? Can you explain me with an example please?
> >
> > -----Original Message-----
> > From: [EMAIL PROTECTED]
> > [mailto:[EMAIL PROTECTED] On
Behalf
> > Of Ray Krueger
> > Sent: 19 gennaio 2007 13.07
> > To: acegisecurity-developer@lists.sourceforge.net
> > Subject: Re: [Acegisecurity-developer] Setting serviceProperties in
> > Acegi
> >
> > Ben answered your original email on this subject...
> >
> > Is there a reason you cannot use a PropertyPlaceholderConfigurer?
> >
> >
http://www.springframework.org/docs/api/org/springframework/beans/factor
> > y/config/PropertyPlaceholderConfigurer.html
> >
> >
> >
> > On 1/19/07, [EMAIL PROTECTED]
> > <[EMAIL PROTECTED]> wrote:
> > >
> > >
> > >
> > >
> > > In using Acegi with Cas in a web application. As you know, I have
to
> > set the
> > > serviceProperties property of CasProcessingFilterEntryPoint to the
url
> > that
> > > CAS will call after authentication. I don't like to set this url
in
> > > applicationContext-acegi-security.xml but I prefere this
> > > value Is build automatically. To do it I'm going to extends
> > > org.acegisecurity.ui.cas.ServiceProperties with a class
> > > that try to build the service property if is not setted (null)
using
> > > something like this:
> > >
> > >
> > >
> > >
> >
serviceProperties="http://"+request.request.getLocalAddr()+":"+request.g
> >
etLocalPort()+"/"+request.getContextPath()+"/j_acegi_cas_security_check"
> > >
> > > (I don't use https in this case....)
> > >
> > >
> > >
> > > What's your opinion?
> > >
> > >
> > >
> > > Please, any suggestions are welcome.
> > >
> > >
> > >
> > > Regards
> > >
> > > Mario Buonopane
> > >
> > >
> > >
> > >
> > > This message is for the designated recipient only and may contain
> > > privileged, proprietary, or otherwise private information. If you
have
> > > received it in error, please notify the sender immediately and
delete
> > the
> > > original. Any other use of the email by you is prohibited.
> > >
> >
------------------------------------------------------------------------
> > -
> > > Take Surveys. Earn Cash. Influence the Future of IT
> > > Join SourceForge.net's Techsay panel and you'll get the chance to
> > share your
> > > opinions on IT & business topics through brief surveys - and earn
cash
> > >
> >
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDE
> > V
> > >
> > > _______________________________________________
> > > Home: http://acegisecurity.org
> > > Acegisecurity-developer mailing list
> > > Acegisecurity-developer@lists.sourceforge.net
> > >
https://lists.sourceforge.net/lists/listinfo/acegisecurity-developer
> > >
> > >
> > >
> >
> >
------------------------------------------------------------------------
> > -
> > Take Surveys. Earn Cash. Influence the Future of IT
> > Join SourceForge.net's Techsay panel and you'll get the chance to
share
> > your
> > opinions on IT & business topics through brief surveys - and earn
cash
> >
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDE
> > V
> > _______________________________________________
> > Home: http://acegisecurity.org
> > Acegisecurity-developer mailing list
> > Acegisecurity-developer@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/acegisecurity-developer
> >
> >
> > This message is for the designated recipient only and may contain
privileged, proprietary, or otherwise private information.  If you have
received it in error, please notify the sender immediately and delete
the original.  Any other use of the email by you is prohibited.
> >
> >
------------------------------------------------------------------------
-
> > Take Surveys. Earn Cash. Influence the Future of IT
> > Join SourceForge.net's Techsay panel and you'll get the chance to
share your
> > opinions on IT & business topics through brief surveys - and earn
cash
> >
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDE
V
> > _______________________________________________
> > Home: http://acegisecurity.org
> > Acegisecurity-developer mailing list
> > Acegisecurity-developer@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/acegisecurity-developer
> >
>

------------------------------------------------------------------------
-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share
your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDE
V
_______________________________________________
Home: http://acegisecurity.org
Acegisecurity-developer mailing list
Acegisecurity-developer@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/acegisecurity-developer


This message is for the designated recipient only and may contain privileged, 
proprietary, or otherwise private information.  If you have received it in 
error, please notify the sender immediately and delete the original.  Any other 
use of the email by you is prohibited.

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Home: http://acegisecurity.org
Acegisecurity-developer mailing list
Acegisecurity-developer@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/acegisecurity-developer

Reply via email to