Turn up the logs and see how the query is constructed.


If that doesn’t work, for the time being, you may just have to define two 
DAOs and merge them together, using MergingPersonAttributeDaoImpl



From: Jonathan Luthi [mailto:[email protected]]
Sent: Thursday, October 9, 2014 7:59 AM
To: [email protected]
Cc: [email protected]; [email protected]; [email protected]
Subject: Re: [cas-user] Cas 4 - sql authentication with username or email 
and retrieve person attribute



Thank you for your reply. Not working (but not crashing). Authentication is 
ok, but no attributes are retrieved.



On Thursday, October 9, 2014 4:47:06 PM UTC+2, Misagh Moayyed wrote:

Try this:



<entry key="username">

  <list>

     <value>email</value>

     <value>username</value>

  </list>

</entry>





From: Jonathan Luthi [mailto:[email protected] <javascript:> ]
Sent: Thursday, October 9, 2014 7:38 AM
To: [email protected] <javascript:>
Cc: [email protected] <javascript:> ; [email protected] 
<javascript:> ; [email protected] <javascript:>
Subject: Re: [cas-user] Cas 4 - sql authentication with username or email 
and retrieve person attribute



I tried a lot of variants before posting my topic, but I'm not familiar with 
these kind of configuration files.

Maybe can you please explain me how use a collection in this case?



On Thursday, October 9, 2014 4:28:47 PM UTC+2, Misagh Moayyed wrote:

Have you tried using a collection of values instead of a single “email”?



From: Jonatha Luthi [mailto:[email protected]]


Sent: Thursday, October 9, 2014 6:48 AM
To: [email protected] <mailto:[email protected]>
Subject: [cas-user] Cas 4 - sql authentication with username or email and 
retrieve person attribute



Hi,



I'm trying to configure my CAS Server 4 to allow users to authenticate with 
username or email within a mysql database (using JDBC). So, in my 
primaryAuthenticationHandler I set the sql like this:



SELECT password FROM users WHERE LOWER(?) IN (LOWER(username), LOWER(email)) 
AND NOT deleted


It works, but my problem is that I'm using a SingleRowJdbcPersonAttributeDao 
to retrieve user attributes. Something like this:



...

<constructor-arg index="1" value="SELECT ... FROM users WHERE {0}" />

<property name="queryAttributeMapping">

    <map>

      <entry key="username" value="email" />

    </map>

</property>
...


Attributes are retrieved only when user log in with email (because query is 
translated as email=username).

So, I wonder if it's possible to have a query like this "...email=username 
OR username=username".



I really want to have login possible by username or email on my website.



Best regards,

Jonathan




-- 
You are currently subscribed to [email protected] 
<mailto:[email protected]>  as: [email protected] 
<mailto:[email protected]>
To unsubscribe, change settings or access archives, see 
http://www.ja-sig.org/wiki/display/JSG/cas-user
-- 
You are currently subscribed to [email protected] 
<mailto:[email protected]>  as: [email protected] 
<mailto:[email protected]>
To unsubscribe, change settings or access archives, see 
http://www.ja-sig.org/wiki/display/JSG/cas-user

-- 
You are currently subscribed to [email protected] <javascript:>  as: 
[email protected] <javascript:>
To unsubscribe, change settings or access archives, see 
http://www.ja-sig.org/wiki/display/JSG/cas-user


-- 
You are currently subscribed to [email protected] 
<mailto:[email protected]>  as: [email protected] 
<mailto:[email protected]>
To unsubscribe, change settings or access archives, see 
http://www.ja-sig.org/wiki/display/JSG/cas-user

-- 
You are currently subscribed to [email protected] as: 
[email protected]
To unsubscribe, change settings or access archives, see 
http://www.ja-sig.org/wiki/display/JSG/cas-user

Reply via email to