Interface SecurityController

  • All Known Implementing Classes:
    SecurityControllerImpl

    public interface SecurityController
    Note: do not use parameterized collections as parameters for ajax methods in this class! Type information is lost during proxy creation so DWR can't figure out what type of collection the method should take. See bug 2756. Use arrays instead.
    Author:
    paul
    • Method Detail

      • addUserToGroup

        boolean addUserToGroup​(String userName,
                               String groupName)
      • deleteGroup

        void deleteGroup​(String groupName)
        AJAX
        Parameters:
        groupName - group name
        Throws:
        DataIntegrityViolationException - cannot remove a group if it is being used to set any permission, remove permission settings first (is thrown if the acl_entry table has rows with this sid)
      • getAuthenticatedUserCount

        Integer getAuthenticatedUserCount()
      • getAvailableGroups

        Collection<UserGroupValueObject> getAvailableGroups()
        AJAX
        Returns:
        List of group names the user can add members to and/or give permissions on objects to.
      • getAvailablePrincipalSids

        Collection<SidValueObject> getAvailablePrincipalSids()
        Return a list of principals that is users
        Returns:
        SidValueObjects
      • getUsersData

        Collection<SecurityInfoValueObject> getUsersData​(String currentGroup,
                                                         boolean privateOnly)
        AJAX
        Parameters:
        currentGroup - A specific group that we're focusing on. Can be null. Used to populate client-side checkboxes to show permissions.
        privateOnly - Only show data that are private (non-publicly readable); otherwise show all the data for the user. This option is probably of most use to administrators.
        Returns:
        security info VO
      • makeGroupReadable

        boolean makeGroupReadable​(EntityDelegator<? extends gemma.gsec.model.Securable> ed,
                                  String groupName)
      • makeGroupWriteable

        boolean makeGroupWriteable​(EntityDelegator<? extends gemma.gsec.model.Securable> ed,
                                   String groupName)
      • makePrivate

        boolean makePrivate​(EntityDelegator<? extends gemma.gsec.model.Securable> ed)
      • makePublic

        boolean makePublic​(EntityDelegator<? extends gemma.gsec.model.Securable> ed)
      • removeGroupReadable

        boolean removeGroupReadable​(EntityDelegator<? extends gemma.gsec.model.Securable> ed,
                                    String groupName)
      • removeGroupWriteable

        boolean removeGroupWriteable​(EntityDelegator<? extends gemma.gsec.model.Securable> ed,
                                     String groupName)
      • removeUsersFromGroup

        boolean removeUsersFromGroup​(String[] userNames,
                                     String groupName)