On the other hand, CAS v5 has this functionality built-in! See the 
‘requiredHandlers’ property: 
https://apereo.github.io/cas/development/installation/Service-Management.html 
<https://apereo.github.io/cas/development/installation/Service-Management.html>

Could be another reason to consider CAS5 ;-)

Cheers,
D.

> On Oct 13, 2016, at 2:02 PM, Dmitriy Kopylenko <[email protected]> wrote:
> 
> Off the top of my head - you’d need to somehow make the current “Service” 
> instance available to the authn handler - perhaps a SWF state to bind it to 
> ThreadLocal and then use the ServicesManager instance to look up the 
> Registered service based on the current Service requesting authentication 
> transaction from CAS: 
> https://github.com/apereo/cas/blob/4.1.x/cas-server-core-api/src/main/java/org/jasig/cas/services/ServicesManager.java#L57
>  
> <https://github.com/apereo/cas/blob/4.1.x/cas-server-core-api/src/main/java/org/jasig/cas/services/ServicesManager.java#L57>
> 
> In any case, you’d need to do some “gymnastics” there…
> 
> D.
> 
>> On Oct 13, 2016, at 1:55 PM, Zhou, Yan <[email protected] 
>> <mailto:[email protected]>> wrote:
>> 
>> Good idea, can you elaborate how I can get this data in authentication 
>> handler?
>> 
>> the data is at entity:  RegexRegisteredService.properties.values,  but how 
>> do I get it?  If I have to look up database, I would need a key to look up 
>> for.  If it is somewhere populated for the particular service user is 
>> logging into, how do I get to it from authentication handler?
>> 
>> Thx!
>> 
>> 
>> On 10/13/2016 1:32 PM, Dmitriy Kopylenko wrote:
>>> The quick way to implement this would be to utilize Registered services 
>>> custom properties: 
>>> https://apereo.github.io/cas/4.1.x/installation/Configuring-Service-Custom-Properties.html
>>>  
>>> <https://apereo.github.io/cas/4.1.x/installation/Configuring-Service-Custom-Properties.html>
>>>  and set which authentication source to use for each defined service. Then 
>>> you’ll have access to this data at runtime via the ServicesManager, etc.
>>> 
>>> D.
>>> 
>>>> On Oct 13, 2016, at 1:25 PM, Yan Zhou <[email protected] 
>>>> <mailto:[email protected]>> wrote:
>>>> 
>>>> Hello,
>>>> 
>>>> We have several data source of user credentials, they come from different 
>>>> applications and we are unable to merge them into one single source.  
>>>> 
>>>> Instead of configuring CAS to go through each authentication provider 
>>>> until one returns SUCCESS, I wish to select the right provider based on 
>>>> the application user is trying to login, i.e., the theme of login page.   
>>>> Another way to explain this is that my login page has a "domain" field in 
>>>> addition to username and password field. 
>>>> 
>>>> This is not the best idea, but I cannot think of anything better.   
>>>> 
>>>> I can extend AbstractUsernamePasswordAuthenticationHandler and implement  
>>>> authenticateUsernamePasswordInternal()  to carry out the authentication. 
>>>> 
>>>> 1) How can I pass in an additional value (such as the CSS theme of login 
>>>> page) into this method? it only supports user name and password. I need an 
>>>> additional value to indicate which authentication provider I should use.
>>>> 
>>>> 2) any alternative solution?
>>>> 
>>>> Thanks,
>>>> Yan
>>>> 
>>>> -- 
>>>> CAS gitter chatroom: https://gitter.im/apereo/cas 
>>>> <https://gitter.im/apereo/cas>
>>>> CAS mailing list guidelines: 
>>>> https://apereo.github.io/cas/Mailing-Lists.html 
>>>> <https://apereo.github.io/cas/Mailing-Lists.html>
>>>> CAS documentation website: https://apereo.github.io/cas 
>>>> <https://apereo.github.io/cas>
>>>> CAS project website: https://github.com/apereo/cas 
>>>> <https://github.com/apereo/cas>
>>>> --- 
>>>> You received this message because you are subscribed to the Google Groups 
>>>> "CAS Community" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send an 
>>>> email to [email protected] 
>>>> <mailto:[email protected]>.
>>>> To post to this group, send email to [email protected] 
>>>> <mailto:[email protected]>.
>>>> Visit this group at https://groups.google.com/a/apereo.org/group/cas-user/ 
>>>> <https://groups.google.com/a/apereo.org/group/cas-user/>.
>>>> To view this discussion on the web visit 
>>>> https://groups.google.com/a/apereo.org/d/msgid/cas-user/a6dd16c1-ee2e-4bb6-8d46-6f44d1f891ed%40apereo.org
>>>>  
>>>> <https://groups.google.com/a/apereo.org/d/msgid/cas-user/a6dd16c1-ee2e-4bb6-8d46-6f44d1f891ed%40apereo.org?utm_medium=email&utm_source=footer>.
>>>> For more options, visit https://groups.google.com/a/apereo.org/d/optout 
>>>> <https://groups.google.com/a/apereo.org/d/optout>.
>>> 
>> 
>> 
>> -- 
>> CAS gitter chatroom: https://gitter.im/apereo/cas 
>> <https://gitter.im/apereo/cas>
>> CAS mailing list guidelines: https://apereo.github.io/cas/Mailing-Lists.html 
>> <https://apereo.github.io/cas/Mailing-Lists.html>
>> CAS documentation website: https://apereo.github.io/cas 
>> <https://apereo.github.io/cas>
>> CAS project website: https://github.com/apereo/cas 
>> <https://github.com/apereo/cas>
>> --- 
>> You received this message because you are subscribed to the Google Groups 
>> "CAS Community" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] 
>> <mailto:[email protected]>.
>> To post to this group, send email to [email protected] 
>> <mailto:[email protected]>.
>> Visit this group at https://groups.google.com/a/apereo.org/group/cas-user/ 
>> <https://groups.google.com/a/apereo.org/group/cas-user/>.
>> To view this discussion on the web visit 
>> https://groups.google.com/a/apereo.org/d/msgid/cas-user/9b13f370-259a-ba90-058e-3ba14f167407%40gmail.com
>>  
>> <https://groups.google.com/a/apereo.org/d/msgid/cas-user/9b13f370-259a-ba90-058e-3ba14f167407%40gmail.com?utm_medium=email&utm_source=footer>.
>> For more options, visit https://groups.google.com/a/apereo.org/d/optout 
>> <https://groups.google.com/a/apereo.org/d/optout>.
> 

-- 
CAS gitter chatroom: https://gitter.im/apereo/cas
CAS mailing list guidelines: https://apereo.github.io/cas/Mailing-Lists.html
CAS documentation website: https://apereo.github.io/cas
CAS project website: https://github.com/apereo/cas
--- 
You received this message because you are subscribed to the Google Groups "CAS 
Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/a/apereo.org/group/cas-user/.
To view this discussion on the web visit 
https://groups.google.com/a/apereo.org/d/msgid/cas-user/A892B83D-AC80-4E72-9AD3-4A62DB056542%40unicon.net.
For more options, visit https://groups.google.com/a/apereo.org/d/optout.

Reply via email to