Package jmri
Interface PermissionManager
- All Known Implementing Classes:
DefaultPermissionManager
public interface PermissionManager
A manager for permissions.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic classstatic classstatic interfaceListener for when the JMRI user login and logout.static classstatic classstatic classstatic class -
Method Summary
Modifier and TypeMethodDescriptionvoidAdd a login listener.Add a new role.Add a new user.voidchangePassword(String newPassword, String oldPassword) Change an user's password.booleanensureAtLeastPermission(Permission permission, PermissionValue minValue) Checks if the current user has the permission.Get the current username.booleanhasAtLeastPermission(Permission permission, PermissionValue minValue) Has the current user permission?booleanhasAtLeastRemotePermission(String sessionId, Permission permission, PermissionValue minValue) Has the current user of this session permission?booleanisAGuestUser(String username) Is the user 'username' the guest user?booleanisAGuestUser(User user) Is the user 'user' the guest user?booleanGet if empty passwords is allowed.booleanisCurrentUser(String username) Is the user username the current user?booleanisCurrentUser(User user) Is the user 'user' the current user?booleanIs the current user allowed to change his password?booleanIs the permission manager enabled?booleanIs an user logged in locally?booleanisRemotelyLoggedIn(String sessionId) Is an user logged in locally?booleanLogin locally to JMRI.voidlogout()Logout locally from JMRI.voidregisterOwner(PermissionOwner owner) Register a permission owner.voidregisterPermission(Permission permission) Register a permission.booleanremoteLogin(StringBuilder sessionId, Locale locale, String username, String password) Login remotely to JMRI.voidremoteLogout(String sessionId) Logout remotely from JMRI.voidremoveRole(String name) Removes a role.voidremoveUser(String username) Removes a role.voidsetAllowEmptyPasswords(boolean value) Set if empty passwords should be allowed.voidsetEnabled(boolean enabled) Set if the permission manager should be enabled or not.voidStore permission settings.
-
Method Details
-
addRole
Add a new role.- Parameters:
name- the name of the role- Returns:
- the new role
- Throws:
PermissionManager.RoleAlreadyExistsException- if the role already exists
-
removeRole
Removes a role.- Parameters:
name- the name of the role- Throws:
PermissionManager.RoleDoesNotExistException- if the role doesn't exist
-
addUser
Add a new user.- Parameters:
username- the usernamepassword- the password- Returns:
- the new user
- Throws:
PermissionManager.UserAlreadyExistsException- if the username already exists
-
removeUser
Removes a role.- Parameters:
username- the username- Throws:
PermissionManager.UserDoesNotExistException- if the user doesn't exist
-
changePassword
Change an user's password.- Parameters:
newPassword- the new passwordoldPassword- the old password
-
login
Login locally to JMRI.- Parameters:
username- the usernamepassword- the password- Returns:
- true if login was successful, false otherwise
-
remoteLogin
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 usernamepassword- the password- Returns:
- true if successful, false otherwise
-
logout
void logout()Logout locally from JMRI. -
remoteLogout
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
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
Is the user username the current user?- Parameters:
username- the username to check- Returns:
- true if the current user is username, false otherwise.
-
isCurrentUser
Is the user 'user' the current user?- Parameters:
user- the user to check- Returns:
- true if the current user is 'user', false otherwise.
-
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
Is the user 'username' the guest user?- Parameters:
username- the username to check- Returns:
- true if 'username' is the guest user
-
isAGuestUser
Is the user 'user' the guest user?- Parameters:
user- the user to check- Returns:
- true if 'user' is the guest user
-
addLoginListener
Add a login listener.- Parameters:
listener- the listener
-
isEnabled
boolean isEnabled()Is the permission manager enabled?- Returns:
- true if it's enabled, false otherwise.
-
setEnabled
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
Set if empty passwords should be allowed.- Parameters:
value- true if empty passwords should be allowed, false otherwise.
-
hasAtLeastPermission
Has the current user permission?- Parameters:
permission- the permission to checkminValue- the minimum value- Returns:
- true if the user has the permission, false otherwise
-
hasAtLeastRemotePermission
boolean hasAtLeastRemotePermission(String sessionId, Permission permission, PermissionValue minValue) Has the current user of this session permission?- Parameters:
sessionId- the session IDpermission- the permission to checkminValue- the minimum value- Returns:
- true if the user has the permission, false otherwise
-
ensureAtLeastPermission
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 checkminValue- the minimum value- Returns:
- true if the user has the permission, false otherwise
-
registerOwner
Register a permission owner.- Parameters:
owner- the owner
-
registerPermission
Register a permission.- Parameters:
permission- the permission
-
storePermissionSettings
void storePermissionSettings()Store permission settings.
-