Search in sources :

Example 6 with Right

use of org.xwiki.security.authorization.Right in project xwiki-platform by xwiki.

the class DefaultAuthorizationSettlerTest method configure.

@Before
public void configure() throws Exception {
    defaultAccess = XWikiSecurityAccess.getDefaultAccess();
    denyAllAccess = new XWikiSecurityAccess();
    for (Right right : Right.values()) {
        denyAllAccess.deny(right);
    }
    this.authorizationSettler = authorizationSettlerMocker.getComponentUnderTest();
}
Also used : Right(org.xwiki.security.authorization.Right) Before(org.junit.Before)

Example 7 with Right

use of org.xwiki.security.authorization.Right in project xwiki-platform by xwiki.

the class PrioritizingAuthorizationSettler method settle.

@Override
protected XWikiSecurityAccess settle(UserSecurityReference user, Collection<GroupSecurityReference> groups, SecurityRuleEntry entry, Policies policies) {
    XWikiSecurityAccess access = new XWikiSecurityAccess();
    Map<Right, Integer> priorities = new RightMap<Integer>();
    SecurityReference reference = entry.getReference();
    Set<Right> enabledRights = Right.getEnabledRights(reference.getSecurityType());
    // Evaluate rules from current level
    for (Right right : enabledRights) {
        for (SecurityRule obj : entry.getRules()) {
            if (obj.match(right)) {
                resolveLevel(right, user, groups, obj, access, policies, priorities);
                if (access.get(right) == ALLOW) {
                    implyRights(right, access, reference, policies, priorities);
                }
            }
        }
    }
    return access;
}
Also used : RightMap(org.xwiki.security.authorization.RightMap) Right(org.xwiki.security.authorization.Right) GroupSecurityReference(org.xwiki.security.GroupSecurityReference) SecurityReference(org.xwiki.security.SecurityReference) UserSecurityReference(org.xwiki.security.UserSecurityReference) SecurityRule(org.xwiki.security.authorization.SecurityRule)

Example 8 with Right

use of org.xwiki.security.authorization.Right in project xwiki-platform by xwiki.

the class XWikiSecurityAccess method getDefaultAccess.

/**
 * @return the default access, using the default value of all rights.
 */
public static synchronized XWikiSecurityAccess getDefaultAccess() {
    if (defaultAccess == null || Right.size() != defaultAccessSize) {
        defaultAccessSize = Right.size();
        defaultAccess = new XWikiSecurityAccess();
        for (Right right : Right.values()) {
            defaultAccess.set(right, right.getDefaultState());
        }
    }
    return defaultAccess;
}
Also used : Right(org.xwiki.security.authorization.Right)

Example 9 with Right

use of org.xwiki.security.authorization.Right in project xwiki-platform by xwiki.

the class XWikiSecurityAccess method toString.

@Override
public String toString() {
    StringBuilder b = new StringBuilder();
    boolean first = true;
    for (Right r : Right.values()) {
        if (first) {
            first = false;
        } else {
            b.append(", ");
        }
        b.append(r).append(": ").append(get(r));
    }
    return b.toString();
}
Also used : Right(org.xwiki.security.authorization.Right)

Example 10 with Right

use of org.xwiki.security.authorization.Right in project xwiki-platform by xwiki.

the class DefaultAuthorizationSettlerTest method assertAccess.

private void assertAccess(String message, UserSecurityReference user, SecurityReference entity, SecurityAccess access, SecurityAccessEntry actual) {
    assertThat(message + " - user", actual.getUserReference(), equalTo(user));
    assertThat(message + " - entity", actual.getReference(), equalTo(entity));
    for (Right right : Right.values()) {
        if (access.get(right) != UNDETERMINED) {
            assertThat(message + " - Right(" + right.getName() + ")", actual.getAccess().get(right), equalTo(access.get(right)));
        }
    }
}
Also used : Right(org.xwiki.security.authorization.Right)

Aggregations

Right (org.xwiki.security.authorization.Right)17 SecurityRule (org.xwiki.security.authorization.SecurityRule)6 Test (org.junit.Test)5 GroupSecurityReference (org.xwiki.security.GroupSecurityReference)4 ArrayList (java.util.ArrayList)3 DocumentReference (org.xwiki.model.reference.DocumentReference)3 EntityReference (org.xwiki.model.reference.EntityReference)3 SecurityRuleEntry (org.xwiki.security.authorization.SecurityRuleEntry)3 EntityType (org.xwiki.model.EntityType)2 WikiReference (org.xwiki.model.reference.WikiReference)2 UserSecurityReference (org.xwiki.security.UserSecurityReference)2 XWiki (com.xpn.xwiki.XWiki)1 XWikiContext (com.xpn.xwiki.XWikiContext)1 XWikiException (com.xpn.xwiki.XWikiException)1 Document (com.xpn.xwiki.api.Document)1 XWikiDocument (com.xpn.xwiki.doc.XWikiDocument)1 BaseObject (com.xpn.xwiki.objects.BaseObject)1 Type (java.lang.reflect.Type)1 Comparator (java.util.Comparator)1 List (java.util.List)1