Package org.rhq.core.domain.auth

Examples of org.rhq.core.domain.auth.Subject


     * @see org.rhq.enterprise.server.auth.SubjectManagerLocal#deleteUsers(Subject, int[])
     */
    @RequiredPermission(Permission.MANAGE_SECURITY)
    public void deleteUsers(Subject subject, int[] subjectIds) {
        for (Integer doomedSubjectId : subjectIds) {
            Subject doomedSubject = getSubjectById(doomedSubjectId);

            if (subject.getName().equals(doomedSubject.getName())) {
                throw new PermissionException("You cannot remove yourself: " + doomedSubject.getName());
            }

            if (authorizationManager.isSystemSuperuser(doomedSubject)) {
                throw new PermissionException("You cannot delete a system root user - they must always exist");
            }

            Set<Role> roles = doomedSubject.getRoles();
            doomedSubject.setRoles(new HashSet<Role>()); // clean out roles

            for (Role doomedRoleRelationship : roles) {
                doomedRoleRelationship.removeSubject(doomedSubject);
            }

            // TODO: we need to reassign ownership of things this user used to own

            // if this user was authenticated via JDBC and thus has a principal, remove it
            if (isUserWithPrincipal(doomedSubject.getName())) {
                deletePrincipal(doomedSubject);
            }

            // one more thing, delete any owned groups
            List<ResourceGroup> ownedGroups = doomedSubject.getOwnedGroups();
            if (null != ownedGroups && !ownedGroups.isEmpty()) {
                int size = ownedGroups.size();
                int[] ownedGroupIds = new int[size];
                for (int i = 0; (i < size); ++i) {
                    ownedGroupIds[i] = ownedGroups.get(i).getId();
                }
                try {
                    resourceGroupManager.deleteResourceGroups(subject, ownedGroupIds);
                } catch (Throwable t) {
                    if (log.isDebugEnabled()) {
                        log.error("Error deleting owned group " + Arrays.toString(ownedGroupIds), t);
                    } else {
                        log.error("Error deleting owned group " + Arrays.toString(ownedGroupIds) + ": "
                            + t.getMessage());
                    }
                }
            }

            // Delete searches saved by this user
            SavedSearchCriteria savedSearchCriteria = new SavedSearchCriteria();
            savedSearchCriteria.addFilterSubjectId(doomedSubjectId);
            savedSearchCriteria.clearPaging();
            PageList<SavedSearch> savedSearches = savedSearchManager.findSavedSearchesByCriteria(subject,
                savedSearchCriteria);
            for (SavedSearch savedSearch : savedSearches) {
                savedSearchManager.deleteSavedSearch(subject, savedSearch.getId());
            }

            alertNotificationManager.cleanseAlertNotificationBySubject(doomedSubject.getId());

            repoManager.removeOwnershipOfSubject(doomedSubject.getId());

            entityManager.remove(doomedSubject);
        }

        return;
View Full Code Here


    public File getTempDir() {
        return new File(tmpdirRoot, this.getClass().getSimpleName());
    }

    protected void ackDeletedPlugins() {
        Subject overlord = LookupUtil.getSubjectManager().getOverlord();
        PluginManagerLocal pluginMgr = LookupUtil.getPluginManager();
        for(Server server : LookupUtil.getTopologyManager().findServersByCriteria(overlord, new ServerCriteria())) {
            pluginMgr.acknowledgeDeletedPluginsBy(server.getId());
        }
    }
View Full Code Here

    // Test Cases  --------------------------------------------

    @Test(enabled = ENABLE_TESTS)
    public void testEligiblePackagesLogic() throws Exception {

        Subject overlord = subjectManager.getOverlord();
        PageControl pageControl = new PageControl(0, 100);

        PageList<PackageVersionComposite> pageList = contentUIManager.getPackageVersionCompositesByFilter(overlord,
            resource.getId(), null, pageControl);
View Full Code Here

        ResourceType platform = getResourceType("myPlatform7");
        Set<MeasurementDefinition> definitions2 = platform.getMetricDefinitions();
        assert definitions2.size() == 2;

        Subject overlord = LookupUtil.getSubjectManager().getOverlord();
        ResourceCriteria c = new ResourceCriteria();
        c.addFilterResourceTypeId(platform.getId());
        c.addFilterInventoryStatus(InventoryStatus.NEW);
        c.fetchSchedules(true);
        List<Resource> resources = LookupUtil.getResourceManager().findResourcesByCriteria(overlord, c);
View Full Code Here

    @PathParam("id")
    String loginName, @Context
    Request request, @Context
    HttpHeaders headers) {

        Subject subject = subjectManager.getSubjectByName(loginName);
        if (subject == null) {
            throw new StuffNotFoundException("User with login " + loginName);
        }

        EntityTag eTag = new EntityTag(Long.toOctalString(subject.hashCode()));
        Response.ResponseBuilder builder = request.evaluatePreconditions(eTag);

        if (builder == null) {
            UserRest user = new UserRest(subject.getId(), subject.getName());
            user.setFirstName(subject.getFirstName());
            user.setLastName(subject.getLastName());
            user.setEmail(subject.getEmailAddress());
            user.setTel(subject.getPhoneNumber());

            MediaType mediaType = headers.getAcceptableMediaTypes().get(0);
            builder = Response.ok(user, mediaType);
            builder.tag(eTag);
View Full Code Here

    // this needs to be the last test executed in the class, it does cleanup
    @Test(priority = 1000, alwaysRun = true, dependsOnGroups = { "RemoveTypes" })
    public void afterClassWorkTest() throws Exception {
        afterClassWork();

        Subject overlord = LookupUtil.getSubjectManager().getOverlord();
        ResourceGroupManagerLocal groupManager = LookupUtil.getResourceGroupManager();

        for(int id : groupIds) {
            groupManager.deleteResourceGroup(overlord, id);
        }
View Full Code Here

        }
    }

    @Test
    public void test2() throws Exception {
        Subject overlord = LookupUtil.getSubjectManager().getOverlord();
        SearchAssistManager mgr = new SearchAssistManager(overlord, SearchSubsystem.RESOURCE);
        List<SearchSuggestion> suggestions = mgr.getSuggestions("category=PLATFORM",0);
        System.out.println("Number of suggestions: " + suggestions.size());
        for (SearchSuggestion s : suggestions) {
            System.out.println(s);
View Full Code Here

    @Test
    public void testCRUD() {
        executeInTransaction(new TransactionCallback() {
            @Override
            public void execute() throws Exception {
                Subject subject = SessionTestHelper.createNewSubject(em, "fake subject");
                int entityId = savedSearchManager.createSavedSearch(subject, new SavedSearch(SearchSubsystem.GROUP,
                    "fake saved search", "pipo", subject));
                SavedSearch entity = savedSearchManager.getSavedSearchById(subject, entityId);
                assertNotNull(entity);
                SavedSearch modifiedEntity = new SavedSearch(SearchSubsystem.RESOURCE, "fake saved search modified",
View Full Code Here

    @Test
    public void testgetSavedSearchByIdPermission() {
        executeInTransaction(new TransactionCallback() {
            @Override
            public void execute() throws Exception {
                Subject subject1 = SessionTestHelper.createNewSubject(em, "fake subject 1");
                SavedSearch savedSearch = new SavedSearch(SearchSubsystem.GROUP, "fake saved search", "pipo", subject1);
                int entityId = savedSearchManager.createSavedSearch(subject1, savedSearch);
                Subject subject2 = SessionTestHelper.createNewSubject(em, "fake subject 2");
                try {
                    savedSearchManager.getSavedSearchById(subject2, entityId);
                    fail("Expected " + PermissionException.class.getSimpleName());
                } catch (PermissionException e) {
                    assertTrue(e.getMessage().contains("view"));
View Full Code Here

    @Test
    public void testCreateSavedSearchPermission() {
        executeInTransaction(new TransactionCallback() {
            @Override
            public void execute() throws Exception {
                final Subject subject1 = SessionTestHelper.createNewSubject(em, "fake subject 1");
                final Subject subject2 = SessionTestHelper.createNewSubject(em, "fake subject 2");
                assertManipulatePermissionExceptionThrown(new Runnable() {
                    @Override
                    public void run() {
                        savedSearchManager.createSavedSearch(subject2, new SavedSearch(SearchSubsystem.GROUP,
                            "fake saved search 2", "molo", subject1));
View Full Code Here

TOP

Related Classes of org.rhq.core.domain.auth.Subject

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.