UserManagement Core

From Gcube Wiki
Revision as of 18:55, 2 May 2016 by Costantino.perciante (Talk | contribs) (User Management)

Jump to: navigation, search

User Management

Introduction

User Management is a library that sits between the Liferay portal services and gCube portlets. The main functionality of the Library is to provide management of users, roles and organizations. It provides a layer of abstraction above the liferay services, hiding the configuration complexities of roles and organizations. The gcube requirement of roles in the scope of organization is achieved by creating a role with the organization name suffixed to it. The addition/removal of organization names to the role names are handled by the Library and are transparent to the application and portlets using the library.

Interfaces

The library exposes three interfaces:

  • User Manager
  • Role Manager
  • Group(Organization) Manager

These interfaces provide the functionalities necessary for CRUD operation on Users, Roles and Organizations and additional functionalities that organise users into Organizations and assigning/dismissal of roles.

Maven Dependency

Add the following dependency to your maven project to use the library.

<dependency>
	<groupId>org.gcube.dvos</groupId>
	<artifactId>usermanagement-core</artifactId>
	<version>[2.0.0-SNAPSHOT, 3.0.0-SNAPSHOT)</version>
	<scope>provided</scope>
</dependency>

UserManager APIs

The UserManager interface allows to create, retrieve and delete users. In order to perform such operations you need to instanciate the proper manager. See the below example.

// Instanciate the manager
UserManager userManager = new LiferayUserManager();
 
/*
* Create the user and let you choose if you want to send him/her a mail notification and force or not the user to change 
* his/her password. 
* You can also pass the avatar to set as bytes.
* @param autoScreenName set true if you want liferay to auto generate a screename for this user, false otherwise
* @param username the username of the user you want 
* @param email a valid email address
* @param firstName
* @param middleName
* @param lastName
* @param jobTitle
* @param backgroundSummary
* @param male
* @param portraitBytes the bytes of the avatar to use for the user
* @param openId user's openId
* @return an instance of the yet created user
* @throws UserManagementSystemException
*/
GCubeUser createdUser = userManager.createUser(autoScreenName, username, email, firstName, middleName, lastName, jobTitle, locationIndustry, 
backgroundSummary, male, reminderQuestion, reminderAnswer, sendEmail, forcePasswordReset, portraitBytes);
 
// or maybe you want to retrieve information about an existing user
GCubeUser userByMail = userManager.getUserByEmail(validUserMail);
 
// delete user
userManager.deleteUserByEMail(createdUser.getEmail());

GroupManager APIs

RoleManager APIs