Hi all, I'm attempting to install and configure CAS 4.2.4 within our 
environment.


I have LDAP and JDBC authentication working, but would like to supplement 
the Principal with data from a separate database and use CAS to present a 
list of "roles" back to the application when a user is authenticated.


I understand I want to chain a couple of PrincipalResolvers together, and 
although I've not started on that yet, I do think I can figure it out.

However, I'd like to be able to only return the list of "roles" relevant to 
the application requesting them. 

We have nearly 100 applications we want migrate to CAS and each user may be 
a member several roles per application. In extreme cases, CAS would be 
returning up to 500 role names.


I have an InMemoryServiceRegistryDaoImpl configured which allows access 
from applications within our domain. I have not configured any other 
serviceRegistry classes.


     <bean

        id="serviceRegistryDao"

        class="org.jasig.cas.services.InMemoryServiceRegistryDaoImpl">

            <property name="registeredServices">

                <list>

                    <bean 
class="org.jasig.cas.services.RegexRegisteredService">

                        <property name="id" value="0" />

                        <property name="name" value="HTTP and HTTPS" />

                        <property name="description" value="Allows 
http[s]://*.internal.company.com[:port]/*" 
/>

                        <property name="serviceId" value="^(http?|https
?):\/\/([A-Za-z0-9_-]+)\.internal\.company\.com(:\d{2,5})?\/.*" />

                        <property name="evaluationOrder" value="1" />

                    </bean>

                </list>

            </property>

        </bean>

        

I would like to be able to pass the "$2" item from the serviceId to my 
PrincipalResolver. 

Alternatively, I could just pass in the whole of the serviceId and do the 
parsing in the resolver itself.

>From my understanding, the Principal is returned by CAS in a separate 
request (made directly to CAS by the application), so is not really in the 
context of the serviceRegistry anyway. Given that fact the likelihood of 
using that regex is very low. However, it's that part of the serviceId that 
I'd like to query the database with.


How would I gain access to the serviceId detail in the resolver? 

Is there a standard resolver I can use, or would I need to write my own?


Many thanks in advance.

-- 
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/15dd9af6-0353-4e1c-893a-bf22e65eb6da%40apereo.org.
For more options, visit https://groups.google.com/a/apereo.org/d/optout.

Reply via email to