On 17/07/2015 09:23, Ajith Perur wrote:
I am very new to Java and J2EE and I am encountered with a case where in I
have to make use of Spring security for login to have its credentials stored
in Apache Syncope internal resource.Please help me,a template project would be 
of great help.

Hi Ajith,
you basically need to provide Spring Security with a mean to delegate the actual authentication to Apache Syncope; AFAICT this means providing your custom AuthenticationProvider [1] where, in the authenticate() method, you will embed the actual credential verification.

Regarding this specific point, I'd say you have a couple of options:

(a) call Syncope REST services from within the authenticate() method, possibly empowering the SyncopeClient library; basically something like as [2]:

SyncopeClient client = new SyncopeClientFactoryBean().
              setAddress("http://localhost:9080/syncope/rest/";).
              create("username", "password");
client.getService(UserSelfService.class).read();

where "username" and "password" are the credentials you need to verify for authentication: the second statement is expected to throw an Exception if credentials were not correct.


(b) configure Syncope for propagating user credentials to an external resource (RDBMS will work, LDAP directory would be better) and then implement the code for checking credentials against RDBMS / LDAP in the authenticate() method

Option (a) is easier to implement but will involve Syncope directly in the authentication process - which might not be the best solution, depending on the expected load; option (b) requires a bit more setup on Syncope but is more scalable.


I would say you'll need to develop some Java code anyway.

HTH
Regards.

[1] http://www.baeldung.com/spring-security-authentication-provider
[2] http://blog.tirasa.net/java-rest-client-library-for.html

--
Francesco Chicchiriccò

Tirasa - Open Source Excellence
http://www.tirasa.net/

Involved at The Apache Software Foundation:
member, Syncope PMC chair, Cocoon PMC, Olingo PMC
http://people.apache.org/~ilgrosso/


Reply via email to