Class UserManagerImpl

  • All Implemented Interfaces:
    gemma.gsec.authentication.UserManager, org.springframework.security.core.userdetails.UserDetailsService, org.springframework.security.provisioning.GroupManager, org.springframework.security.provisioning.UserDetailsManager, UserManager

    @Service
    public class UserManagerImpl
    extends Object
    implements UserManager
    Implementation for Spring Security, plus some other handy methods.
    Author:
    pavlidis
    • Constructor Detail

      • UserManagerImpl

        public UserManagerImpl()
    • Method Detail

      • changePasswordForUser

        @Transactional
        public String changePasswordForUser​(String email,
                                            String username,
                                            String newPassword)
                                     throws org.springframework.security.core.AuthenticationException
        Specified by:
        changePasswordForUser in interface gemma.gsec.authentication.UserManager
        Specified by:
        changePasswordForUser in interface UserManager
        Throws:
        org.springframework.security.core.AuthenticationException
      • generateSignupToken

        public String generateSignupToken​(String username)
        Specified by:
        generateSignupToken in interface gemma.gsec.authentication.UserManager
      • getCurrentUsername

        public String getCurrentUsername()
        Specified by:
        getCurrentUsername in interface gemma.gsec.authentication.UserManager
      • getRolePrefix

        public String getRolePrefix()
        Specified by:
        getRolePrefix in interface gemma.gsec.authentication.UserManager
      • setRolePrefix

        public void setRolePrefix​(String rolePrefix)
      • groupExists

        @Transactional(readOnly=true)
        public boolean groupExists​(String groupName)
        Specified by:
        groupExists in interface gemma.gsec.authentication.UserManager
      • loggedIn

        public boolean loggedIn()
        Specified by:
        loggedIn in interface gemma.gsec.authentication.UserManager
      • reauthenticate

        public void reauthenticate​(String username,
                                   String password)
        Specified by:
        reauthenticate in interface gemma.gsec.authentication.UserManager
      • createUser

        @Transactional
        public void createUser​(org.springframework.security.core.userdetails.UserDetails user)
        Specified by:
        createUser in interface org.springframework.security.provisioning.UserDetailsManager
        Specified by:
        createUser in interface UserManager
      • updateUser

        @Transactional
        public void updateUser​(org.springframework.security.core.userdetails.UserDetails user)
        Specified by:
        updateUser in interface org.springframework.security.provisioning.UserDetailsManager
        Specified by:
        updateUser in interface UserManager
      • deleteUser

        @Transactional
        public void deleteUser​(String username)
        Specified by:
        deleteUser in interface org.springframework.security.provisioning.UserDetailsManager
        Specified by:
        deleteUser in interface UserManager
      • changePassword

        @Transactional
        public void changePassword​(String oldPassword,
                                   String newPassword)
                            throws org.springframework.security.core.AuthenticationException
        Specified by:
        changePassword in interface org.springframework.security.provisioning.UserDetailsManager
        Specified by:
        changePassword in interface UserManager
        Throws:
        org.springframework.security.core.AuthenticationException
      • findAllGroups

        @Transactional(readOnly=true)
        public List<String> findAllGroups()
        Specified by:
        findAllGroups in interface org.springframework.security.provisioning.GroupManager
      • findUsersInGroup

        @Transactional(readOnly=true)
        public List<String> findUsersInGroup​(String groupName)
        Specified by:
        findUsersInGroup in interface org.springframework.security.provisioning.GroupManager
      • createGroup

        @Transactional
        public void createGroup​(String groupName,
                                List<org.springframework.security.core.GrantedAuthority> authorities)
        Specified by:
        createGroup in interface org.springframework.security.provisioning.GroupManager
      • deleteGroup

        @Transactional
        public void deleteGroup​(String groupName)
        Specified by:
        deleteGroup in interface org.springframework.security.provisioning.GroupManager
      • renameGroup

        @Transactional
        public void renameGroup​(String oldName,
                                String newName)
        Specified by:
        renameGroup in interface org.springframework.security.provisioning.GroupManager
      • addUserToGroup

        @Transactional
        public void addUserToGroup​(String username,
                                   String groupName)
        Specified by:
        addUserToGroup in interface org.springframework.security.provisioning.GroupManager
      • removeUserFromGroup

        @Transactional
        public void removeUserFromGroup​(String username,
                                        String groupName)
        Specified by:
        removeUserFromGroup in interface org.springframework.security.provisioning.GroupManager
      • findGroupAuthorities

        @Transactional(readOnly=true)
        public List<org.springframework.security.core.GrantedAuthority> findGroupAuthorities​(String groupName)
        Specified by:
        findGroupAuthorities in interface org.springframework.security.provisioning.GroupManager
      • addGroupAuthority

        @Transactional
        public void addGroupAuthority​(String groupName,
                                      org.springframework.security.core.GrantedAuthority authority)
        Specified by:
        addGroupAuthority in interface org.springframework.security.provisioning.GroupManager
      • removeGroupAuthority

        @Transactional
        public void removeGroupAuthority​(String groupName,
                                         org.springframework.security.core.GrantedAuthority authority)
        Specified by:
        removeGroupAuthority in interface org.springframework.security.provisioning.GroupManager
      • isEnableAuthorities

        public boolean isEnableAuthorities()
      • setEnableAuthorities

        public void setEnableAuthorities​(boolean enableAuthorities)
      • isEnableGroups

        public boolean isEnableGroups()
      • setEnableGroups

        public void setEnableGroups​(boolean enableGroups)
      • loadUserByUsername

        @Transactional(readOnly=true)
        public org.springframework.security.core.userdetails.UserDetails loadUserByUsername​(String username)
                                                                                     throws org.springframework.security.core.userdetails.UsernameNotFoundException,
                                                                                            DataAccessException
        Specified by:
        loadUserByUsername in interface org.springframework.security.core.userdetails.UserDetailsService
        Throws:
        org.springframework.security.core.userdetails.UsernameNotFoundException
        DataAccessException
      • loadUsersByUsername

        protected List<org.springframework.security.core.userdetails.UserDetails> loadUsersByUsername​(String username)