shibboleth.Conditions.RelyingPartyId regex?

Liam Hoekenga liamr at umich.edu
Fri Jul 17 15:50:15 EDT 2015


I give up.  I'm trying to use this as a base
http://shibboleth.net/pipermail/users/2015-July/022678.html

This stuff seems straightforward enough:

    <bean id="exampleOrgRegex" class="java.util.regex.Pattern"
        factory-method="compile" c:_0="^http[s]?://[^/]*\.example\.org.*" />

    <bean id="exampleOrgRegexPredicate"
        class="com.google.common.base.Predicates" factory-method="contains"
        c:_0-ref="exampleOrgRegex" />


The next bean I create is

    <bean id="RelyingPartyIdRegex"
        class="net.shibboleth.idp.profile.logic.RelyingPartyIdPredicate"
abstract="true"
        c:pred-ref="exampleOrgRegexPredicate" />

...which looks really similar to on from system/conf/utilities.xml...

    <bean id="shibboleth.Conditions.RelyingPartyId"
        class="net.shibboleth.idp.profile.logic.RelyingPartyIdPredicate"
abstract="true" />

...which I used successfully in a previous attempt.
"shibboleth.Conditions.RelyingPartyId" doesn't specify any constructors,
and is abstract.   "RelyingPartyIdRegex" specifies a reference(?) for / to
a "pred" constructor.  What I gather from earlier messages in this thread
is that if I instantiate "RelyingPartyIdRegex", it's already been passed a
constructor and I can't pass new ones.

Using this version of "RelyingPartyIdRegex", I get the errors about
constructor resolution failures / ambiguity.


I try this instead..

    <bean id="RelyingPartyIdRegex"
        class="net.shibboleth.idp.profile.logic.RelyingPartyIdPredicate"
abstract="true">

...effectively making a copy of "shibboleth.Conditions.RelyingPartyId",
that I try feeding the appropriate arguments to the multiple constructors..

<bean parent="RelyingPartyIdRegex" c:pred-ref="exampleOrgRegexPredicate"
c:candidates="#{ 'https://sp.example.org' }" />

... but since there isn't a single constructor that takes both candidates
/and/ predicates, this fails and I get the message about constructor
resolution failures / ambiguity.

I'm guessing this works in Francesco's example because
"RelyingPartyIdRegex" is invoked via a property instead of being
instantiated?

This would probably be easy to someone who knows java and spring, and 15+
messages into this thread, it's pretty obvious that I don't.  Can I get
another hint?

Liam

On Thu, Jul 16, 2015 at 3:36 PM, Cantor, Scott <cantor.2 at osu.edu> wrote:

> On 7/16/15, 3:33 PM, "users on behalf of Liam Hoekenga" <
> users-bounces at shibboleth.net on behalf of liamr at umich.edu> wrote:
>
> >The bean I'm defining in my intercept flow conf uses that as a parent.
> e.g.
>
> Oh, then that's the error. You've already supplied the constructor in the
> parent and used the Predicate version. You can't turn around and change to
> the other constructor here in the child.
>
> If you're trying to drive it with a regex, the details would be fed into
> the constructor/etc. of the Predicate that you're injecting into this bean.
>
> -- Scott
>
> --
> To unsubscribe from this list send an email to
> users-unsubscribe at shibboleth.net
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://shibboleth.net/pipermail/users/attachments/20150717/9652dac0/attachment.html>


More information about the users mailing list