here is code for such dao:

public class MultipleLoginColumnsSingleRowJdbcPersonAttributeDao
extends SingleRowJdbcPersonAttributeDao {

    public MultipleLoginColumnsSingleRowJdbcPersonAttributeDao(final
DataSource ds, final String sql) {
        super(ds, sql);
        setQueryType(QueryType.OR);
    }

    @Override
    protected Map<String, List<Object>> toSeedMap(String uid) {
        final List<Object> values = Collections.singletonList((Object) uid);
        final Map<String, List<Object>> seed = new HashMap<>();
        for (String usernameKey : this.getQueryAttributeMapping().keySet()) {
            seed.put(usernameKey, values);
        }
        if (this.logger.isDebugEnabled()) {
            this.logger.debug("Created seed map='" + seed + "' for
uid='" + uid + "'");
        }
        return seed;
    }
}


2016-09-16 10:31 GMT+03:00 Sergei Kalmykov <[email protected]>:

> I have one table with single row for one person. But it has multiple
> "username" columns like email, phone and nickname. And each of them have to
> exist in sql query. But SingleRowJdbcPersonAttributeDao#toSeedMap()
> generates WHERE clause like 'username = ?'.
> Of course, I can use aggregated respository of multiple
> SingleRowJdbcPersonAttributeDaos and execute 3 queries with 'phone = ?',
> 'email = ?' etc instead of single sql query. But it seems wrong way to me.
>
> 2016-09-15 19:15 GMT+03:00 Misagh Moayyed <[email protected]>:
>
>> What does your old attribute repository bean look like?
>>
>> --
>> Misagh
>>
>> From: Sergei Kalmykov <[email protected]>
>> <[email protected]>
>> Reply: Sergei Kalmykov <[email protected]>
>> <[email protected]>
>> Date: September 15, 2016 at 5:29:51 PM
>> To: CAS Community <[email protected]> <[email protected]>
>> Subject:  [cas-user] Overriding attributeRepository using War overlay
>>
>> Hi,
>>
>> I'm playing with 5.0.0.RC2-SNAPSHOT, trying to migrate from CAS 4.1.0
>>
>> With old xml configs and deployerConfigContext.xml I had my own specific
>> attributeRepository bean in xml. It just worked with war overlay, all my
>> code was embedded into cas-server via xml beans and component-scan in xml.
>> With spring-boot I wanted to repeat the same thing. I thought to use
>>
>> @ConditionalOnMissingBean(name = "attributeRepository")
>>
>> and define my own bean via xml component-scan.
>> Unfortunately, it doesn't work. I suppose, CasCoreAuthenticationConfiguration
>> have too high @Order and requires attributeRepository, so my component-scan
>> starts too late.
>>
>> @Order(value = Ordered.HIGHEST_PRECEDENCE) on my configuration and
>> spring.autoconfigure.exclude doesn't help. The only workaround i found is
>> to create my own boot application and totaly exclude
>> CasPersonDirectoryAttributeRepositoryConfiguration with excludeFilters.
>>
>> This way seems to be strange, I hope I'm missing something, but what?
>>
>> Thanks!
>> --
>> 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/ap
>> ereo.org/group/cas-user/.
>> To view this discussion on the web visit https://groups.google.com/a/ap
>> ereo.org/d/msgid/cas-user/2004031b-afc0-4a06-8d61-5e204230f9
>> 9b%40apereo.org
>> <https://groups.google.com/a/apereo.org/d/msgid/cas-user/2004031b-afc0-4a06-8d61-5e204230f99b%40apereo.org?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/a/apereo.org/d/optout.
>>
>>
>
>
> --
> С уважением, Калмыков Сергей.
>



-- 
С уважением, Калмыков Сергей.

-- 
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/CAJMGork8tGNBB7kY10%2Bp4k8qigWRmFNV_ANi%2B_N44z455QZ6ng%40mail.gmail.com.
For more options, visit https://groups.google.com/a/apereo.org/d/optout.

Reply via email to