WSO2 User Manager, v0.1 Release Note - 21st September 2007
WSO2 UserManager is a library that will let the developers handle user authentication and authorization in applications in a homogeneous manner.
Different projects require user management at various levels. User Manager is designed to cater for needs in different projects.
Features List
- User Management usig "org.wso2.usermanager.readwrite.DefaultRealm".
- Add/edit/delete users
- Add/edit/delete rolels
- Manage users and roles
- Manage user and role authorizations
- Plugin to Existing databases
- org.wso2.usermanager.custom.jdbc.JDBCRealm - This can connect to existing RDBMS user stores via a JDBC driver and authenticate users. It can retrieve user properties from the users table. This is tested using MySQL and Derby database drivers.
- org.wso2.usermanager.custom.ldap.LDAPRealm - This can connect to existing LDAP server and authenticate users and retrieve user attributes. This is tested using open ldap.
- org.wso2.usermanager.custom.acegi.AcegiRealm - Can perform authentication provided the bean mapping for AuthenticationProvider.
- A web app to perform user verification using Emails
This consist of 3 jsp files and a single class. Extract the webapp and integrate register.jsp, signon.jsp and validate.jsp to your application. Add the WEB-INF/lib files and classes directory to your war file or classpath. And it should simply work.
Limitations
- The current implementations of the DefaultRealm does not check for user's roles when giving authorization. For example "isUserAuthorized" will return true only if User permission is set. This will be fixed in the next release.
- Current Acegi Realm only supports AuthenticationProviders with "org.acegisecurity.providers.UsernamePasswordAuthenticationToken"
Distribution Directory Structure
|-- usermanager-core-0.1.jar <file>
|-- user-verification-0.1.war <file>
|-- resources<folder>
|-- LICENSE <file>
|-- README <file>
Usage
Using the Default Realm:
1. Create the database by running resources/create_db.sql
2. Add the following jars to your classpath.
-commons-logging-1.1.jar
-log4j-1.2.13.jar
-usermanager-core-0.1.jar
-your jdbc driver
3. Using the default realm with derby EmbeddedDriver is given below. Please set the resources/user.default.sql file as the sql file.
DefaultRealm realm = new DefaultRealm();
DefaultRealmConfig config =
(DefaultRealmConfig)realm.getRealmConfiguration();
config.setSqlFile("user.default.sql");//user.default.sql file inside the
resources directory of the distribution
config.setConnectionURL("jdbc:derby:/home/muthulee/temp/test/UserDatabase");
config.setDriverName("org.apache.derby.jdbc.EmbeddedDriver");
realm.init(config);
realm.addUser("Alice", "myPass");
boolean isAuthenticated = realm.authenticate("Alice", "myPass");
if(isAuthenticated){
System.out.println("Success");
}
Reporting Problems
Issues can be reported using the public JIRA available on the WSO2 Oxygen Tank
Contact us
WSO2 Mashup Server developers & user can be contacted via mailing lists
Alternatively, questions can also be raised in the WSO2 Commons forum
Thanks,
- WSO2 Commons User Manager Team