Package jmri

Interface PermissionManager

    • Method Detail

      • changePassword

        void changePassword​(java.lang.String newPassword,
                            java.lang.String oldPassword)
        Change an user's password.
        Parameters:
        newPassword - the new password
        oldPassword - the old password
      • login

        boolean login​(java.lang.String username,
                      java.lang.String password)
        Login locally to JMRI.
        Parameters:
        username - the username
        password - the password
        Returns:
        true if login was successful, false otherwise
      • remoteLogin

        boolean remoteLogin​(java.lang.StringBuilder sessionId,
                            java.util.Locale locale,
                            java.lang.String username,
                            java.lang.String password)
        Login remotely to JMRI. This is for the web server, WiThrottle server, and other remote connections.
        Parameters:
        sessionId - the session ID. If empty string, a new session ID will be created.
        locale - the locale to be used for messages.
        username - the username
        password - the password
        Returns:
        true if successful, false otherwise
      • logout

        void logout()
        Logout locally from JMRI.
      • remoteLogout

        void remoteLogout​(java.lang.String sessionId)
        Logout remotely from JMRI. This is for the web server, WiThrottle server, and other remote connections.
        Parameters:
        sessionId - the session ID
      • isLoggedIn

        boolean isLoggedIn()
        Is an user logged in locally?
        Returns:
        true if any user except guest is logged in, false otherwise.
      • isRemotelyLoggedIn

        boolean isRemotelyLoggedIn​(java.lang.String sessionId)
        Is an user logged in locally?
        Parameters:
        sessionId - the session ID
        Returns:
        true if any user except guest is logged in to this session, false otherwise.
      • isCurrentUser

        boolean isCurrentUser​(java.lang.String username)
        Is the user username the current user?
        Parameters:
        username - the username to check
        Returns:
        true if the current user is username, false otherwise.
      • isCurrentUser

        boolean isCurrentUser​(User user)
        Is the user 'user' the current user?
        Parameters:
        user - the user to check
        Returns:
        true if the current user is 'user', false otherwise.
      • getCurrentUserName

        java.lang.String getCurrentUserName()
        Get the current username.
        Returns:
        the username of the user that's currently logged in or null if no user is logged in.
      • isCurrentUserPermittedToChangePassword

        boolean isCurrentUserPermittedToChangePassword()
        Is the current user allowed to change his password?
        Returns:
        true if a user has logged in and that user is permitted to change his password, false otherwise
      • isAGuestUser

        boolean isAGuestUser​(java.lang.String username)
        Is the user 'username' the guest user?
        Parameters:
        username - the username to check
        Returns:
        true if 'username' is the guest user
      • isAGuestUser

        boolean isAGuestUser​(User user)
        Is the user 'user' the guest user?
        Parameters:
        user - the user to check
        Returns:
        true if 'user' is the guest user
      • isEnabled

        boolean isEnabled()
        Is the permission manager enabled?
        Returns:
        true if it's enabled, false otherwise.
      • setEnabled

        void setEnabled​(boolean enabled)
        Set if the permission manager should be enabled or not.
        Parameters:
        enabled - true if it should be enabled, false otherwise.
      • isAllowEmptyPasswords

        boolean isAllowEmptyPasswords()
        Get if empty passwords is allowed.
        Returns:
        true if empty passwords is allowed, false otherwise.
      • setAllowEmptyPasswords

        void setAllowEmptyPasswords​(boolean value)
        Set if empty passwords should be allowed.
        Parameters:
        value - true if empty passwords should be allowed, false otherwise.
      • hasAtLeastPermission

        boolean hasAtLeastPermission​(Permission permission,
                                     PermissionValue minValue)
        Has the current user permission?
        Parameters:
        permission - the permission to check
        minValue - the minimum value
        Returns:
        true if the user has the permission, false otherwise
      • hasAtLeastRemotePermission

        boolean hasAtLeastRemotePermission​(java.lang.String sessionId,
                                           Permission permission,
                                           PermissionValue minValue)
        Has the current user of this session permission?
        Parameters:
        sessionId - the session ID
        permission - the permission to check
        minValue - the minimum value
        Returns:
        true if the user has the permission, false otherwise
      • ensureAtLeastPermission

        boolean ensureAtLeastPermission​(Permission permission,
                                        PermissionValue minValue)
        Checks if the current user has the permission. If not, show a message dialog if not headless. Otherwise log a message.
        Parameters:
        permission - the permission to check
        minValue - the minimum value
        Returns:
        true if the user has the permission, false otherwise