Class UserMgmtUtils

    • Field Detail

      • ANONYMOUS

        public static final Benutzer ANONYMOUS
        Virtueller Benutzer für Fälle, bei denen ein Benutzer benötigt wird, aber keine Anmeldungen notwendig ist.
      • SYSTEM

        public static final Benutzer SYSTEM
        Virtueller Benutzer für Fälle, bei denen ein Benutzer benötigt wird, aber keine Anmeldungen notwendig ist.
      • SETUP

        public static final Benutzer SETUP
        Virtueller Benutzer für Fälle, bei denen ein Benutzer benötigt wird, aber keine Anmeldungen notwendig ist.
      • DESIGNER_USER

        public static final Benutzer DESIGNER_USER
        Virtueller Benutzer für Fälle, bei denen ein Benutzer benötigt wird, aber keine Anmeldungen notwendig ist.
      • DESIGNER_LAST_DUMMY

        public static final Benutzer DESIGNER_LAST_DUMMY
        Virtueller Benutzer für Fälle, bei denen ein Benutzer benötigt wird, aber keine Anmeldungen notwendig ist.
      • DESIGNER_INITIAL_DUMMY

        public static final Benutzer DESIGNER_INITIAL_DUMMY
        Virtueller Benutzer für Fälle, bei denen ein Benutzer benötigt wird, aber keine Anmeldungen notwendig ist.
    • Method Detail

      • genPwd

        public static String genPwd​(List<SystemProperty> pwdPolicyConfig)
        Generates a password based on the configured system rules
        Parameters:
        pwdPolicyConfig - pwdPolicyConfig a List of SystemPropertys which specify the password policy rules
        Returns:
        a generated Password
      • getPasswordStrength

        public static int getPasswordStrength​(String newPassword,
                                              List<org.passay.Rule> rules)
        Calculates the password-strength for password ui components. The ranges for levels in the ui component are:
        • 0,29: Weak
        • 30,79: Medium
        • 80,100: Strong
        The method returns 29 if not all configured password policy rules apply.
        The method returns 79 if all configured password policy rules apply.
        The method returns 100 if the estimate entropy of the pass phrase is over 31.
        Parameters:
        newPassword - the password to calculate the strength of
        rules - a list of system properties which specify the password policy rules
        Returns:
        Double
      • hashPassword

        public static String hashPassword​(String clearTextPassword)
        Paswort-Encryption.
      • checkPassword

        public static boolean checkPassword​(String clearTextPassword,
                                            String encryptedPassword)
      • dfltBgNameFor

        public static String dfltBgNameFor​(ERollenTyp rolle,
                                           Locale locale)
        Liefert den lokalisierten Standard-Gruppennamen für Benutzer mit der übergebenen Rolle.
        Returns:
        Den Gruppennamen.
      • isSetupUser

        public static boolean isSetupUser​(Benutzer user)
        Parameters:
        user - User to check.
        Returns:
        true if the given user is a setup user (sadmin), who can administrate the system.
      • isSetupUserWithoutClient

        public static boolean isSetupUserWithoutClient​(Benutzer user,
                                                       javax.servlet.http.HttpSession session)
        Parameters:
        user - User to check.
        session - Optional session for retrieving the client.
        Returns:
        true if the given user is a setup user and has not chosen a client.
      • isSetupUserWithClient

        public static boolean isSetupUserWithClient​(Benutzer user,
                                                    javax.servlet.http.HttpSession session)
        Parameters:
        user - User to check.
        session - Optional session for retrieving the client.
        Returns:
        true if the given user is a setup user and has chosen a client.
      • isSystemUser

        public static boolean isSystemUser​(Benutzer user)
      • isAnonymousUser

        public static boolean isAnonymousUser​(Benutzer user)
      • isInternalUser

        public static boolean isInternalUser​(Benutzer user)
        Method do determine if the given user is an internal and virtual user like SETUP, ANONYMOUS or SYSTEM
        Parameters:
        user - the user to check
        Returns:
        true if the user is internal, false otherwise
      • isExternalUser

        public static boolean isExternalUser​(Benutzer user)
      • getTimeStamp

        public static long getTimeStamp​(long addHours,
                                        long addMinutes)
        Liefert einen Zeitstempel (beginnend vom aktuellen Zeitpunkt) zurück, welcher, um die in den Parametern für Stunden und Minuten enthalten Werte, erweitert wurde.
        Parameters:
        addHours - Stunden, die zum aktuellen Zeitpunkt hinzugezählt werden sollen
        addMinutes - Minuten, die zum aktuellen Zeitpunkt hinzugezählt werden sollen
        Returns:
        ein Zeitstempel
      • validatePassword

        public static PasswordValidationResult validatePassword​(String password,
                                                                List<SystemProperty> systemConfig)
        Validates Passwords
        Parameters:
        password - the new password
        systemConfig - list with system properties, which defines the use password policy rules if list is null or empty, the system defined default password policy rules will be used
        Returns:
        PasswordValidationResult with validation-status and errors
      • validatePassword

        public static PasswordValidationResult validatePassword​(String oldPassword,
                                                                String newPassword,
                                                                List<SystemProperty> systemConfig)
        Validates Passwords
        Parameters:
        oldPassword - old passwords which should be permitted to use again. May be null or empty.
        newPassword - the new password
        systemConfig - list with system properties, which defines the use password policy rules if list is null or empty, the system defined default password policy rules will be used
        Returns:
        PasswordValidationResult with validation-status and errors
      • validatePassword

        public static PasswordValidationResult validatePassword​(String userName,
                                                                String oldPassword,
                                                                String newPassword,
                                                                List<SystemProperty> systemConfig)
        Validates Passwords
        Parameters:
        userName - name of the user to permit passwords with username. May be null or empty.
        oldPassword - old passwords which should be permitted to use again. May be null or empty.
        newPassword - the new password
        systemConfig - list with system properties, which defines the use password policy rules if list is null or empty, the system defined default password policy rules will be used
        Returns:
        PasswordValidationResult with validation-status and errors
      • getPasswordRules

        public static List<org.passay.Rule> getPasswordRules​(List<SystemProperty> pwdPolicyConfig,
                                                             boolean useDefaultForGen)
        Determines the password policy rules set from the persisted system configuration. The persisted system configuration comes within the given systemConfig list.
        Parameters:
        pwdPolicyConfig - List of SystemPropertys
        useDefaultForGen - Flag for use functionality in password generation. If no rules configured (in system properties or pre default) the rules 'ALPABETICAL' and 'DIGITS' will be returned.
        Returns:
        list of password policy Rules
      • filterCharacterRules

        public static List<org.passay.CharacterRule> filterCharacterRules​(List<org.passay.Rule> rules)
      • filterFirstLengthRules

        public static org.passay.LengthRule filterFirstLengthRules​(List<org.passay.Rule> rules)
      • convertToProfile

        public static org.pac4j.core.profile.CommonProfile convertToProfile​(Benutzer user)
      • getFromProfile

        public static Benutzer getFromProfile​(org.pac4j.core.profile.CommonProfile profile)
      • toJSON

        public static com.alibaba.fastjson.JSONObject toJSON​(Benutzer user,
                                                             List<BenutzerGruppe> userGroups,
                                                             org.pac4j.core.profile.CommonProfile prof)