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