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 classDefaultSSOService.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.StringMD5_PASSWORD_ENCODINGprotected static java.lang.StringSSO_DATABASE_USERGROUP_MAPPINGprotected static java.lang.StringSSO_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 voidadjustUserAttributes(UserModel user, DefaultSSOService.SSOUserMapping mapping)Adjusting user groupsprotected UserModelcreateNewUser(java.lang.String id, java.lang.String name, DefaultSSOService.SSOUserMapping userMapping)create a new userprotected DefaultSSOService.SSOUserMappingfindMapping(java.util.Collection<java.lang.String> roles)Maps SSO usergroups to hybris type and groups.protected DefaultSSOService.SSOUserMappingfindMappingInDatabase(java.util.Collection<java.lang.String> roles)protected DefaultSSOService.SSOUserMappingfindMappingInProperties(java.util.Collection<java.lang.String> roles)protected DefaultSSOService.SSOUserMappinggetMappingForRole(java.lang.String role)getting the mapping for rolesUserModelgetOrCreateSSOUser(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 UserModellookupExisting(java.lang.String id, DefaultSSOService.SSOUserMapping mapping)Check if a user exists or notprotected DefaultSSOService.SSOUserMappingperformMapping(java.util.List<SamlUserGroupModel> userGroupModels)voidsetModelService(ModelService modelService)voidsetSamlUserGroupDAO(SamlUserGroupDAO samlUserGroupDAO)voidsetUserService(UserService userService)protected voidvalidateMappings(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:SSOUserServiceReturn UserModel for existing user or for the newly created.- Specified by:
getOrCreateSSOUserin 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_MAPPINGis 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)
-
-