<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-size:small">Hi Scott and thanks for your answer, <br></div><div class="gmail_default" style="font-size:small"></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Il giorno lun 1 lug 2024 alle ore 16:28 Cantor, Scott <<a href="mailto:cantor.2@osu.edu">cantor.2@osu.edu</a>> ha scritto:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">I don't think the filter strings there are Velocity.<br></blockquote><div><div style="font-size:small" class="gmail_default">Ah, ok. <br></div><div style="font-size:small" class="gmail_default"><br></div><div style="font-size:small" class="gmail_default">I don't understand, from conf/authn/password-authn-config.xml : <br></div><div style="font-size:small" class="gmail_default"><br></div><div style="font-size:small" class="gmail_default">p:userFilter="#{'%{idp.authn.LDAP.userFilter.1:undefined}'.trim()}"</div><div style="font-size:small" class="gmail_default"><br></div><div style="font-size:small" class="gmail_default">Which language uses the syntax '#{}' ? And the "trim()" part, who is responsible for parsing/executing that? <br></div><div style="font-size:small" class="gmail_default"></div></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
If nothing else, you can apply CredentialValidator-specific transforms to change the username before it gets handed to the code that builds the user filter.<br>
<br>
<util:list id="shibboleth.authn.Password.Transforms"><br>
<bean parent="shibboleth.Pair" p:first="^(.+)@osu\.edu$" p:second="$1" /><br>
</util:list><br></blockquote><div><br></div><div><div style="font-size:small" class="gmail_default">Yes, this is (kind of) working and that's what I'm already doing (with some limitations) <br></div><div style="font-size:small" class="gmail_default">But this solution has the big drawback that the Principal stored in the session/context is just <user> (with no <domain>) and hence: <br></div><div style="font-size:small" class="gmail_default"> - I cannot utilize the Principal to select the correct DataConnector backend in the AttributeResolver (actually done with some ActivationCondition)<br></div><div style="font-size:small" class="gmail_default"> - some conflict could arise when a certain <user> exists both in <domain1> and <domain2>. <br></div><div style="font-size:small" class="gmail_default"><br></div></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
To do it non-globally the transform list has to be injected to the specific validator's transforms property.<br></blockquote><div><br></div><div style="font-size:small" class="gmail_default">Another solution could be to inject a property containing the <domain> in the Session context: it could be used later to select the correct backend but, again, I don't know how this could be done :(<br></div><div style="font-size:small" class="gmail_default"><br></div><div style="font-size:small" class="gmail_default">Cheers, <br></div><div style="font-size:small" class="gmail_default"> Paolo<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
-- Scott
<br>
<span class="gmail_default" style="font-size:small"></span></blockquote></div><br></div>