Interface SecurityService

All Superinterfaces:
com.google.gwt.user.client.rpc.RemoteService
All Known Implementing Classes:
SecurityServiceImpl

@RemoteServiceRelativePath("security") public interface SecurityService extends com.google.gwt.user.client.rpc.RemoteService
The client side stub for the Security Service. This service gives all needed methods to handle user sessions.
  • Method Details

    • getSession

      GUISession getSession(String locale, String sid)
      Logs-in a user by an existing session ID (session reuse)
      Parameters:
      locale - the currently used language specification
      sid - the session ID (optional), if not provided it is taken by cookies
      Returns:
      session informations
    • changePassword

      GUIValue changePassword(Long requestorUserId, long userId, String oldPassword, String newPassword, boolean notify)
      Changes the password of a user
      Parameters:
      requestorUserId - The user Identifier of the requestor
      userId - The user Identifier
      oldPassword - can be null
      newPassword - the new password
      notify - If the new credentials have to be notified
      Returns:
      the error code and message. 0 if all went ok, 1 if the password is incorrect, 2 if the new password cannot be notified, 3 if the password has been already used, otherwise a positive number grater than 3
    • generatePassword

      String generatePassword() throws ServerException
      Generates a password using the configured policies.
      Returns:
      the generated password
      Throws:
      ServerException - error generated in the server application
    • generatePassword2

      String generatePassword2(int length, int uppercaseChars, int lowercaseChars, int digits, int specialChars, int maxSequenceSize, int maxOccurrences)
      Generates a password
      Parameters:
      length - dimension of the password
      uppercaseChars - minimum number of upper case chars
      lowercaseChars - minimum number of lower case chars
      digits - minimum number of digits
      specialChars - minimum number of special chars
      maxSequenceSize - maximum size of a sequence
      maxOccurrences - maximum number of occurrences of the same char
      Returns:
      the generated password
    • validatePassword

      List<String> validatePassword(String password, int length, int uppercaseChars, int lowercaseChars, int digits, int specialChars, int maxSequenceSize, int maxOccurrences)
      Validates a password
      Parameters:
      password - the password to validate
      length - dimension of the password
      uppercaseChars - minimum number of upper case chars
      lowercaseChars - minimum number of lower case chars
      digits - minimum number of digits
      specialChars - minimum number of special chars
      maxSequenceSize - maximum size of a sequence
      maxOccurrences - maximum number of occurrences of the same char
      Returns:
      the reasons for the failure or empty
    • changeStatus

      void changeStatus(long userId, boolean enabled) throws ServerException
      Changes the status of a user
      Parameters:
      userId - The user Identifier
      enabled - If the user must be enabled or not
      Throws:
      ServerException - error generated in the server application
    • logout

      void logout()
      Logs out the current user
    • deleteUser

      void deleteUser(long userId) throws ServerException
      Deletes a given user
      Parameters:
      userId - identifier of the user
      Throws:
      ServerException - error generated in the server application
    • saveUser

      GUIUser saveUser(GUIUser user, GUIInfo info) throws ServerException
      Creates or updates a user
      Parameters:
      user - the user to save
      info - informations about the User Interface
      Returns:
      the saved user
      Throws:
      ServerException - error generated in the server application
    • replicateUsersSettings

      void replicateUsersSettings(long masterUserId, List<Long> userIds, boolean gui, boolean groups) throws ServerException
      Replicates the settings of a given user to a selection of other users
      Parameters:
      masterUserId - identifier of the user with the settings you want to replicate
      userIds - identifiers of the users to replicate the settings to
      gui - if the user interface settings must be replicated
      groups - if the groups must be replicated(the read-only users will not be affected by this flag)
      Throws:
      ServerException - error generated in the server application
    • saveProfile

      GUIUser saveProfile(GUIUser user) throws ServerException
      Saves the profile data only
      Parameters:
      user - the user to save
      Returns:
      the updated user
      Throws:
      ServerException - error generated in the server application
    • saveInterfaceSettings

      GUIUser saveInterfaceSettings(GUIUser user) throws ServerException
      Saves the interface settings only
      Parameters:
      user - the user to save
      Returns:
      the updated user
      Throws:
      ServerException - error generated in the server application
    • getUser

      GUIUser getUser(long userId) throws ServerException
      Loads a given user from the database
      Parameters:
      userId - identifier of the user
      Returns:
      the user retrieved from the server application
      Throws:
      ServerException - error generated in the server application
    • getGroup

      GUIGroup getGroup(long groupId) throws ServerException
      Loads a given group from the database
      Parameters:
      groupId - identifier of the group
      Returns:
      group retrieved from the server application
      Throws:
      ServerException - error generated in the server application
    • saveGroup

      GUIGroup saveGroup(GUIGroup group) throws ServerException
      Creates or updates a group
      Parameters:
      group - the group to save
      Returns:
      the updated group
      Throws:
      ServerException - error generated in the server application
    • deleteGroup

      void deleteGroup(long groupId) throws ServerException
      Deletes a given group
      Parameters:
      groupId - identifier of the group
      Throws:
      ServerException - error generated in the server application
    • removeFromGroup

      void removeFromGroup(long groupId, List<Long> userIds) throws ServerException
      Removes users from a group
      Parameters:
      groupId - identifier of the group
      userIds - user identifiers
      Throws:
      ServerException - error generated in the server application
    • addUserToGroup

      void addUserToGroup(long groupId, long userId) throws ServerException
      Adds a user to a group
      Parameters:
      groupId - identifier of the group
      userId - identifier of the user
      Throws:
      ServerException - error generated in the server application
    • saveSettings

      boolean saveSettings(GUISecuritySettings settings) throws ServerException
      Saves security settings
      Parameters:
      settings - settings about security
      Returns:
      True if the application has to be restarted
      Throws:
      ServerException - error generated in the server application
    • loadSettings

      GUISecuritySettings loadSettings() throws ServerException
      Loads security settings
      Returns:
      the security settings
      Throws:
      ServerException - error generated in the server application
    • kill

      void kill(String sid) throws ServerException
      Kill the session with the given sid
      Parameters:
      sid - identifier of the session
      Throws:
      ServerException - error generated in the server application
    • saveACL

      void saveACL(GUIMenu menu) throws ServerException
      Applies all security settings to menu
      Parameters:
      menu - the menu
      Throws:
      ServerException - error generated in the server application
    • getMenu

      GUIMenu getMenu(long id, String locale) throws ServerException
      Retrieves the specified menu
      Parameters:
      id - identifier of the menu
      locale - currently selected locale
      Returns:
      the menu retrieved from the server application
      Throws:
      ServerException - error generated in the server application
    • getMenus

      List<GUIMenu> getMenus(long parentId, String locale, boolean enabledOnly) throws ServerException
      Retrieves the accessible menus children of a given parent
      Parameters:
      parentId - identifier of the parent menu
      locale - currently selected locale
      enabledOnly - to retrieve just the enabled menus
      Returns:
      the accessible children
      Throws:
      ServerException - error generated in the server application
    • saveMenus

      void saveMenus(List<GUIMenu> menus, String locale) throws ServerException
      Saves a set of menus
      Parameters:
      menus - the menus to save
      locale - currently selected locale
      Throws:
      ServerException - error generated in the server application
    • saveMenu

      GUIMenu saveMenu(GUIMenu menu, String locale) throws ServerException
      Saves a menu
      Parameters:
      menu - the menu to save
      locale - currently selected locale
      Returns:
      the saved menu
      Throws:
      ServerException - error generated in the server application
    • deleteMenu

      void deleteMenu(long menuId) throws ServerException
      Deletes a menu but only if is not a legacy menu (type not 0)
      Parameters:
      menuId - the menu to delete
      Throws:
      ServerException - error generated in the server application
    • searchUsers

      List<GUIUser> searchUsers(String username, String groupId) throws ServerException
      Searches for users
      Parameters:
      username - The username used in the like operator (optional)
      groupId - The group ID (optional)
      Returns:
      Array of found users
      Throws:
      ServerException - error generated in the server application
    • loadBlockedEntities

      List<GUISequence> loadBlockedEntities() throws ServerException
      Retrieves the list of actually blocked usernames and IPs detected as Brute Force Attack
      Returns:
      the array of blocked usernames and IPs
      Throws:
      ServerException - error generated in the server application
    • removeBlockedEntities

      void removeBlockedEntities(List<Long> id) throws ServerException
      Removes blocked entries detected as Brute Force Attack
      Parameters:
      id - identifiers of entities from the BFA list
      Throws:
      ServerException - error generated in the server application
    • trustDevice

      String trustDevice(String label) throws ServerException
      Permanently trusts the current device for the current user
      Parameters:
      label - optional label to assign to the current device
      Returns:
      the ID of the trusted device
      Throws:
      ServerException - error generated in the server application
    • updateDeviceLabel

      void updateDeviceLabel(long deviceId, String label) throws ServerException
      Updates the label of a device
      Parameters:
      deviceId - identifier of the device to update
      label - label to assign to the current device
      Throws:
      ServerException - error generated in the server application
    • isTrustedDevice

      Boolean isTrustedDevice(String device) throws ServerException
      Check if the saved device ID is trusted for the current user
      Parameters:
      device - identifier of the device
      Returns:
      if the device is trusted or not
      Throws:
      ServerException - error generated in the server application
    • deleteTrustedDevices

      void deleteTrustedDevices(List<Long> deviceIds) throws ServerException
      Deletes a set of trusted devices for the current user
      Parameters:
      deviceIds - identifiers of the devices to delete
      Throws:
      ServerException - error generated in the server application
    • syncGeolocationDB

      String syncGeolocationDB(String key) throws ServerException
      Downloads the most recent version of the Geolocation database
      Parameters:
      key - the API key
      Returns:
      the current database version
      Throws:
      ServerException - error generated in the server application
    • saveAvatar

      void saveAvatar(long userId) throws ServerException
      Saves an uploaded image as the user's avatar
      Parameters:
      userId - Identifier of the user
      Throws:
      ServerException - error generated in the server application
    • resetAvatar

      void resetAvatar(long userId) throws ServerException
      Resets the avatar to the default one
      Parameters:
      userId - Identifier of the user
      Throws:
      ServerException - error generated in the server application
    • createApiKey

      String createApiKey(String name) throws ServerException
      Creates a new API Key for the current user
      Parameters:
      name - The name to give to the new key
      Returns:
      The newly generated key
      Throws:
      ServerException - error generated in the server application
    • deleteApiKey

      void deleteApiKey(long keyId) throws ServerException
      Deletes an API Key
      Parameters:
      keyId - Identifier of the API Key
      Throws:
      ServerException - error generated in the server application
    • updateApiKey

      void updateApiKey(long keyId, String newName) throws ServerException
      Updates an API Key
      Parameters:
      keyId - Identifier of the API Key
      newName - The new name to assign
      Throws:
      ServerException - error generated in the server application
    • cloneWorkTimes

      void cloneWorkTimes(long srcUserId, List<Long> userIds, List<Long> groupIds) throws ServerException
      Clones a work time to a set of other users
      Parameters:
      srcUserId - identifier of the user with the work time you want to clone
      userIds - direct ids of users to clone the working time to
      groupIds - the groups of users to clone the working time to
      Throws:
      ServerException - generic error