Class DefaultSSOService
- java.lang.Object
-
- de.hybris.platform.servicelayer.internal.service.AbstractService
-
- de.hybris.platform.samlsinglesignon.DefaultSSOService
-
- All Implemented Interfaces:
SSOUserService
,java.io.Serializable
,org.springframework.beans.factory.Aware
,org.springframework.beans.factory.BeanNameAware
,org.springframework.beans.factory.InitializingBean
- Direct Known Subclasses:
BackofficeSSOService
public class DefaultSSOService extends AbstractService implements SSOUserService
Default SSO service for getting/creating user- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
DefaultSSOService.SSOUserMapping
-
Nested classes/interfaces inherited from class de.hybris.platform.servicelayer.internal.service.AbstractService
AbstractService.SerializableDTO
-
-
Field Summary
Fields Modifier and Type Field Description protected static java.lang.String
MD5_PASSWORD_ENCODING
protected static java.lang.String
SSO_DATABASE_USERGROUP_MAPPING
protected static java.lang.String
SSO_PASSWORD_ENCODING
-
Fields inherited from class de.hybris.platform.servicelayer.internal.service.AbstractService
tenant
-
-
Constructor Summary
Constructors Constructor Description DefaultSSOService()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
adjustUserAttributes(UserModel user, DefaultSSOService.SSOUserMapping mapping)
Adjusting user groupsprotected UserModel
createNewUser(java.lang.String id, java.lang.String name, DefaultSSOService.SSOUserMapping userMapping)
create a new userprotected DefaultSSOService.SSOUserMapping
findMapping(java.util.Collection<java.lang.String> roles)
Maps SSO usergroups to hybris type and groups.protected DefaultSSOService.SSOUserMapping
findMappingInDatabase(java.util.Collection<java.lang.String> roles)
protected DefaultSSOService.SSOUserMapping
findMappingInProperties(java.util.Collection<java.lang.String> roles)
protected DefaultSSOService.SSOUserMapping
getMappingForRole(java.lang.String role)
getting the mapping for rolesUserModel
getOrCreateSSOUser(java.lang.String id, java.lang.String name, java.util.Collection<java.lang.String> roles)
Return UserModel for existing user or for the newly created.protected UserModel
lookupExisting(java.lang.String id, DefaultSSOService.SSOUserMapping mapping)
Check if a user exists or notprotected DefaultSSOService.SSOUserMapping
performMapping(java.util.List<SamlUserGroupModel> userGroupModels)
void
setModelService(ModelService modelService)
void
setSamlUserGroupDAO(SamlUserGroupDAO samlUserGroupDAO)
void
setUserService(UserService userService)
protected void
validateMappings(java.util.Collection<java.lang.String> roles, java.util.List<SamlUserGroupModel> userGroupModels)
-
Methods inherited from class de.hybris.platform.servicelayer.internal.service.AbstractService
afterPropertiesSet, getCurrentTenant, setBeanName, setCurrentTenant, writeReplace
-
-
-
-
Field Detail
-
MD5_PASSWORD_ENCODING
protected static final java.lang.String MD5_PASSWORD_ENCODING
- See Also:
- Constant Field Values
-
SSO_PASSWORD_ENCODING
protected static final java.lang.String SSO_PASSWORD_ENCODING
- See Also:
- Constant Field Values
-
SSO_DATABASE_USERGROUP_MAPPING
protected static final java.lang.String SSO_DATABASE_USERGROUP_MAPPING
- See Also:
- Constant Field Values
-
-
Method Detail
-
getOrCreateSSOUser
public UserModel getOrCreateSSOUser(java.lang.String id, java.lang.String name, java.util.Collection<java.lang.String> roles)
Description copied from interface:SSOUserService
Return UserModel for existing user or for the newly created.- Specified by:
getOrCreateSSOUser
in interfaceSSOUserService
- Parameters:
id
- the user idname
- the user nameroles
- user roles- Returns:
- existing or newly created user model
-
createNewUser
protected UserModel createNewUser(java.lang.String id, java.lang.String name, DefaultSSOService.SSOUserMapping userMapping)
create a new user- Parameters:
id
- to be used as the user Idname
- name of the useruserMapping
- user mappings (groups and user type)- Returns:
- a new user model
-
lookupExisting
protected UserModel lookupExisting(java.lang.String id, DefaultSSOService.SSOUserMapping mapping)
Check if a user exists or not- Parameters:
id
- the user id to search formapping
- groups/user type- Returns:
- return user model in case the user is found or null if not found
-
adjustUserAttributes
protected void adjustUserAttributes(UserModel user, DefaultSSOService.SSOUserMapping mapping)
Adjusting user groups- Parameters:
user
- the user to adjust the groups formapping
- the mapping which holds the groups
-
findMapping
protected DefaultSSOService.SSOUserMapping findMapping(java.util.Collection<java.lang.String> roles)
Maps SSO usergroups to hybris type and groups. If propertySSO_DATABASE_USERGROUP_MAPPING
is true, the mapping is taken from database. Otherwise it takes mapping from properties file.- Parameters:
roles
- Roles to map- Returns:
- The mapping
-
findMappingInProperties
protected DefaultSSOService.SSOUserMapping findMappingInProperties(java.util.Collection<java.lang.String> roles)
-
findMappingInDatabase
protected DefaultSSOService.SSOUserMapping findMappingInDatabase(java.util.Collection<java.lang.String> roles)
-
performMapping
protected DefaultSSOService.SSOUserMapping performMapping(java.util.List<SamlUserGroupModel> userGroupModels)
-
validateMappings
protected void validateMappings(java.util.Collection<java.lang.String> roles, java.util.List<SamlUserGroupModel> userGroupModels)
-
getMappingForRole
protected DefaultSSOService.SSOUserMapping getMappingForRole(java.lang.String role)
getting the mapping for roles- Parameters:
role
- the role to get the mapping for- Returns:
- SSO user mapping object which has the user type and the groups
-
setModelService
public void setModelService(ModelService modelService)
-
setUserService
public void setUserService(UserService userService)
-
setSamlUserGroupDAO
public void setSamlUserGroupDAO(SamlUserGroupDAO samlUserGroupDAO)
-
-