Just to add to Kevin's reply... The way that Isis loads components is using the InstallerLookupDefault class. When it reads the following:
isis.authentication=sql then this is ultimately read by InstallerLookupDefault#authenticationManagerInstaller() method. If you trace it through you'll see that the method reads the key value "sql" and looks for a component that implements AuthenticationManagerInstaller interface. The available components are listed in the installer-registry.properties file, that lives in oai.runtimes.dflt:runtime module, in the oai.runtimes.dflt.runtime package (src/main/resources). One of the components listed there is org.apache.isis.security.sql.authentication.SqlAuthenticationManagerInstaller; if present on the classpath then this will indicate that its name is "sql", and thus be loaded by InstallerLookupDefault. If the component is not on the classpath, then the entry in the installer-registry.properties file is ignored. One day we might chuck all this out and just use CDI, but for now it works and is reasonably straight-forward. NB: none of the above alters Kevin's advice: you just need to make sure that the sql-os modules are on your classpath by adding them into your pom. HTH, Dan ~~~~~~~ On 8 June 2012 12:46, Sudipto Majumder <[email protected]> wrote: > Okay, I found some info on the website. I was trying to use sql > authentication since ldap server is not yet available. I used the following > configuration in isis.properties - > > *isis.authentication=sql > isis.authentication.sql.jdbc.driver=com.mysql.jdbc.Driver > > isis.authentication.sql.jdbc.connection=jdbc:mysql://localhost:3306/tutorial > isis.authentication.sql.jdbc.user=*** > isis.authentication.sql.jdbc.password=*** > > isis.authentication.sql.userTable=user_authentication > isis.authentication.sql.userNameField=username > isis.authentication.sql.passwordField=password > * > But getting the following error while deploying - > > *Error in custom provider, > org.apache.isis.core.commons.factory.InstanceCreationException: Failed to > load installer; named/class:'sql' (of type > > org.apache.isis.core.runtime.authentication.AuthenticationManagerInstaller)* > > Where I am going wrong? I'm using isis version > *0.3.0-incubating-SNAPSHOT*and file authentication is working fine for > me. > > Thanks, > Sudipto. > On Fri, Jun 8, 2012 at 11:07 AM, Sudipto Majumder <[email protected] > >wrote: > > > Hi Dan, > > > > After some initial POC success, there is an actual opportunity of using > > Isis framework in a rapid development project. We have little time to > > ponder on whether we should use Isis or go for some other traditional > > framework. The use cases for this project is not very complex and hence > we > > were thinking of Isis in the first place. But before we can decide, we > need > > to be sure of the feasibility of a few facts. > > > > And the first thing to look into is the authentication and authorization > > part. So, far I have only used and seen file based authentication but in > > the framework code I noticed some classes for LDAP authentication. So, my > > first question is can we integrate easily with an LDAP for the > > authentication part? If yes, is there any documentation available on the > > same? > > As for authorization, we need to show/hide some service and menu links > > based on roles and these roles would be maintained in application > database. > > So this brings up to my second question, whether that can be achieved or > > not. In the password files I noticed some mention of roles but did not > > understand much about that. > > > > I would really appreciate if you can kindly comment on these items. > > > > Thanks, > > Sudipto. > > >
