Reposting essentially again as I just cannot make this go. My heartfelt apologies that I'm circling to the list again on this.

As before. I want to be able to specifically require an exclusive Authentication Resource per Service definition. I cannot seem to make this work.


CAS 6.2.3


LDAP Resource Definition

==============


cas.authn.ldap[0].name=LDAP
cas.authn.ldap[0].order=0
cas.authn.ldap[0].type=AUTHENTICATED
cas.authn.ldap[0].ldap-url=ldap://100.10.1.230:3131
cas.authn.ldap[0].bind-dn=cn=<xxxx>
cas.authn.ldap[0].search-filter=(&(uid={user})(inetuserstatus=active))
cas.authn.ldap[0].base-dn=o=isp
cas.authn.ldap[0].bind-credential=yyyy
cas.authn.ldap[0].principal-attribute-id=uid
cas.authn.ldap[0].principal-attribute=uid
cas.authn.ldap[0].principal-attribute-list=uid,sn,cn:commonName,givenName,inetUserStatus,dn
cas.authn.ldap[0].use-ssl=false
cas.authn.ldap[0].allowMultiplePrincipalAttributeValues=false
cas.authn.ldap[0].allowMissingPrincipalAttributeValue=true


Radius:

=====

cas.authn.radius.name=Radius
cas.authn.radius.server.protocol=PAP
cas.authn.radius.server.retries=1
cas.authn.radius.client.authenticationPort=1645
cas.authn.radius.client.sharedSecret=zzzzzz
cas.authn.radius.client.inetAddress=100.10.1.184
cas.authn.radius.client.accountingPort=1646
cas.authn.radius.principal-attribute: username
cas.authn.radius.principal-attribute-id: username


Service Definition (Using HTTP Generic)

========================

{
         "@class" : "org.apereo.cas.services.RegexRegisteredService",
         "serviceId" : "^(https|imaps)://.*",
         "name" : "HTTPS and IMAPS",
         "id" : 10000001,
        "evaluationOrder": 99999,
"authenticationPolicy":
  {
    "@class": 
"org.apereo.cas.services.DefaultRegisteredServiceAuthenticationPolicy",
        "requiredAuthenticationHandlers": ["java.util.TreeSet", ["Radius"]],
        "excludedAuthenticationHandlers": ["java.util.TreeSet", ["LDAP"]]
  },
 "attributeReleasePolicy" : {
    "@class" : "org.apereo.cas.services.ReturnAllAttributeReleasePolicy"
  }
}


It just doesn't work. If I enter a credential set that fails in Radius it will still fall into LDAP and succeed.


Also I'm trying to use LDAP attribute repository to round out the attribute response from said Radius authentication. Again debug logging of the the various elements implies that it should work but I'm not even seeing the LDAP query for the attributes. Maybe I'm missing the point on how it all works? For example how do you define that attributes that link the PrincipalID etc etc.


^[[36m2020-10-28 14:59:16,984 DEBUG 
[org.apereo.cas.config.CasPersonDirectoryConfiguration] - <LDAP attributes are 
fetched from [ldap://100.10.1.230:3131] via filter [uid=zzzzz]>^[[m
^[[36m2020-10-28 14:59:16,986 DEBUG 
[org.apereo.cas.config.CasPersonDirectoryConfiguration] - <Configured result 
attribute mapping for [ldap://100.10.1.230:3131] to be [{cn=commonName, dn=dn, 
inetUserStatus=inetUserStatus, uid=uid, mail=mail}]>^[[m
^[[36m2020-10-28 14:59:16,990 DEBUG 
[org.apereo.cas.config.CasPersonDirectoryConfiguration] - <Setting binary 
attributes [[objectGUID, objectSid]]>^[[m
^[[36m2020-10-28 14:59:16,990 DEBUG 
[org.apereo.cas.config.CasPersonDirectoryConfiguration] - <Configured subtree 
searching for [ldap://100.10.1.230:3131]>^[[m
^[[36m2020-10-28 14:59:16,990 DEBUG 
[org.apereo.cas.config.CasPersonDirectoryConfiguration] - <Adding LDAP attribute 
source for [ldap://100.10.1.230:3131]>^[[m



Configurations

** Enabling ePerson stuff?

cas.person-directory.attribute-resolution-enabled: true
cas.personDirectory.activeAttributeRepositoryIds: LDAPAttr
cas.person-directory.return-null=false
cas.person-directory.principal-attribute=uid

cas.authn.attributeRepository.expirationTime=30
cas.authn.attributeRepository.expirationTimeUnit=seconds
cas.authn.attributeRepository.merger=MULTIVALUED

** Configuration the LDAP store (log output above seems to imply it's picking this up)

cas.authn.attribute-repository.ldap[0].id=LDAPAttr
cas.authn.attribute-repository.ldap[0].order=0
cas.authn.attribute-repository.ldap[0].attributes.uid=uid
cas.authn.attribute-repository.ldap[0].attributes.cn=commonName
cas.authn.attribute-repository.ldap[0].attributes.dn=dn
cas.authn.attribute-repository.ldap[0].attributes.mail=mail
cas.authn.attribute-repository.ldap[0].attributes.inetUserStatus=inetUserStatus
cas.authn.attribute-repository.ldap[0].ldapUrl=ldap://100.10.1.230:3131
cas.authn.attribute-repository.ldap[0].useSsl=false
cas.authn.attribute-repository.ldap[0].useStartTls=false
cas.authn.attribute-repository.ldap[0].baseDn=o=isp
cas.authn.attribute-repository.ldap[0].search-filter: uid={0}
cas.authn.attribute-repository.ldap[0].bindDn=cn=xxxx
cas.authn.attribute-repository.ldap[0].bindCredential=yyyy

cas.authn.attribute-repository.default-attributes-to-release: 
uid,dn,mail,commonName


Thoughts on either of these area's would be greatly appreciated.





--
- Website: https://apereo.github.io/cas
- Gitter Chatroom: https://gitter.im/apereo/cas
- List Guidelines: https://goo.gl/1VRrw7
- Contributions: https://goo.gl/mh7qDG
--- 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 cas-user+unsubscr...@apereo.org.
To view this discussion on the web visit 
https://groups.google.com/a/apereo.org/d/msgid/cas-user/84103c62-6ce9-e6da-2376-5b72b155c562%40caveo.ca.

Reply via email to