Example usage for org.springframework.security.acls.domain BasePermission ADMINISTRATION

List of usage examples for org.springframework.security.acls.domain BasePermission ADMINISTRATION

Introduction

In this page you can find the example usage for org.springframework.security.acls.domain BasePermission ADMINISTRATION.

Prototype

Permission ADMINISTRATION

To view the source code for org.springframework.security.acls.domain BasePermission ADMINISTRATION.

Click Source Link

Usage

From source file:sample.contact.AddPermissionValidator.java

public void validate(Object obj, Errors errors) {
    AddPermission addPermission = (AddPermission) obj;

    ValidationUtils.rejectIfEmptyOrWhitespace(errors, "permission", "err.permission",
            "Permission is required. *");
    ValidationUtils.rejectIfEmptyOrWhitespace(errors, "recipient", "err.recipient", "Recipient is required. *");

    if (addPermission.getPermission() != null) {
        int permission = addPermission.getPermission().intValue();

        if ((permission != BasePermission.ADMINISTRATION.getMask())
                && (permission != BasePermission.READ.getMask())
                && (permission != BasePermission.DELETE.getMask())) {
            errors.rejectValue("permission", "err.permission.invalid",
                    "The indicated permission is invalid. *");
        }/* ww w. j  a  va  2s .c  om*/
    }

    if (addPermission.getRecipient() != null) {
        if (addPermission.getRecipient().length() > 100) {
            errors.rejectValue("recipient", "err.recipient.length",
                    "The recipient is too long (maximum 100 characters). *");
        }
    }
}

From source file:com.denksoft.springstarter.service.impl.SecurityServiceImpl.java

public void setBankAccountPermissions(BankAccount bankAccount) {

    Customer customer = (Customer) dao.load(Customer.class, bankAccount.getCustomer().getId());

    Sid sid = new PrincipalSid(customer.getUser().getUsername());
    Sid sidAdmin = new GrantedAuthoritySid("ROLE_CLERK");

    aclSecurityUtil.addPermission(bankAccount, sid, BasePermission.READ, BankAccount.class);
    aclSecurityUtil.addPermission(bankAccount, sidAdmin, BasePermission.ADMINISTRATION, BankAccount.class);
}

From source file:org.jtalks.common.service.security.AclBuilderImpl.java

/**
 * {@inheritDoc}
 */
@Override
public AclBuilder admin() {
    permissions.add(BasePermission.ADMINISTRATION);
    return this;
}

From source file:sample.contact.service.impl.MenuServiceImpl.java

public Menu create(Menu menu) {
    // Create the Menu itself
    menu = menuDao.save(menu);/* w w w  .ja  va  2  s . c om*/

    // Grant the current principal administrative permission to the menu
    addPermission(menu, new PrincipalSid(getUsername()), BasePermission.ADMINISTRATION);

    if (logger.isDebugEnabled()) {
        logger.debug("Created menu " + menu + " and granted admin permission to recipient " + getUsername());
    }
    return menu;
}

From source file:org.jtalks.common.service.security.AclBuilderImplTest.java

@Test
public void testAdmin() throws Exception {
    builder.admin();

    assertTrue(builder.hasPermission(BasePermission.ADMINISTRATION));
}

From source file:org.tibetjungle.demo.service.ContactServiceImpl.java

public void create(Contact contact) {
    // Create the Contact itself
    contact.setId(new Long(counter++));
    contactDao.create(contact);// w  ww.  j  ava  2s  .  c  o m

    // Grant the current principal administrative permission to the contact
    aclPermissionService.grantAfterCreating(contact, new PrincipalSid(getUsername()),
            BasePermission.ADMINISTRATION);

    if (logger.isDebugEnabled()) {
        logger.debug(
                "Created contact " + contact + " and granted admin permission to recipient " + getUsername());
    }
}

From source file:com.excilys.ebi.bank.service.impl.security.BankAclService.java

@Override
@Cacheable(cacheName = IConstants.Cache.ACL_CACHE, keyGenerator = @KeyGenerator(name = "StringCacheKeyGenerator"))
@Transactional(readOnly = true)/*from w  w w  .  j a va 2s  .c o  m*/
public Acl readAclById(ObjectIdentity object, List<Sid> sids) throws NotFoundException {

    SimpleAclImpl acl = new SimpleAclImpl(object);

    logger.info("type={} id={}", object.getType(), object.getIdentifier());

    for (Sid sid : sids) {
        if (sid instanceof GrantedAuthoritySid
                && GrantedAuthoritySid.class.cast(sid).getGrantedAuthority().equals(Role.ROLE_ADMIN.name())) {
            acl.getEntries().add(new SimpleAccessControlEntryImpl(acl, sid, BasePermission.READ, true));
            acl.getEntries().add(new SimpleAccessControlEntryImpl(acl, sid, BasePermission.WRITE, true));
            acl.getEntries()
                    .add(new SimpleAccessControlEntryImpl(acl, sid, BasePermission.ADMINISTRATION, true));

        } else if (sid instanceof PrincipalSid) {
            Integer accountId = Integer.class.cast(object.getIdentifier());
            String login = ((PrincipalSid) sid).getPrincipal();
            Assert.notNull(accountId, "accountId is required");
            Assert.notNull(login, "login is required");

            if (accountDao.isAccountOfUser(accountId, login)) {
                acl.getEntries().add(new SimpleAccessControlEntryImpl(acl, sid, BasePermission.READ, true));
                acl.getEntries().add(new SimpleAccessControlEntryImpl(acl, sid, BasePermission.WRITE, true));
            }
        }
    }

    return acl;
}

From source file:org.jtalks.common.service.security.AclBuilderImplTest.java

@Test
public void testGrantOn() throws Exception {
    builder.user(USERNAME).admin().on(target);

    assertFalse(builder.containsSid(USERNAME));
    assertFalse(builder.hasPermission(BasePermission.ADMINISTRATION));
    verify(manager).grant(builder.getSids(), builder.getPermissions(), target);
}

From source file:sample.contact.ContactManagerBackend.java

public void create(Contact contact) {
    // Create the Contact itself
    contact.setId(new Long(counter++));
    contactDao.create(contact);/* w  w  w. ja v  a 2 s  .co m*/

    // Grant the current principal administrative permission to the contact
    addPermission(contact, new PrincipalSid(getUsername()), BasePermission.ADMINISTRATION);

    if (logger.isDebugEnabled()) {
        logger.debug(
                "Created contact " + contact + " and granted admin permission to recipient " + getUsername());
    }
}

From source file:org.jtalks.common.service.security.AclBuilderImplTest.java

@Test
public void testRemoveOn() throws Exception {
    builder = new AclBuilderImpl(manager, AclBuilderImpl.Action.DELETE);

    builder.user(USERNAME).admin().on(target);

    assertFalse(builder.containsSid(USERNAME));
    assertFalse(builder.hasPermission(BasePermission.ADMINISTRATION));
    verify(manager).delete(builder.getSids(), builder.getPermissions(), target);
}