[jboss-cvs] jboss-seam/examples/security/src/org/jboss/seam/example/security ...

Shane Bryzak Shane_Bryzak at symantec.com
Sun Oct 22 06:01:02 EDT 2006


  User: sbryzak2
  Date: 06/10/22 06:01:02

  Added:       examples/security/src/org/jboss/seam/example/security  
                        Customer.java CustomerAclProvider.java
  Log:
  added classes to demo object acl's
  
  Revision  Changes    Path
  1.1      date: 2006/10/22 10:01:02;  author: sbryzak2;  state: Exp;jboss-seam/examples/security/src/org/jboss/seam/example/security/Customer.java
  
  Index: Customer.java
  ===================================================================
  package org.jboss.seam.example.security;
  
  import org.jboss.seam.annotations.Name;
  import org.jboss.seam.annotations.DefinePermissions;
  import org.jboss.seam.annotations.AclProvider;
  
  /**
   * <p>PROPRIETARY/CONFIDENTIAL Use of this product is subject to license terms.
   * Copyright (c) 2006 Symantec Corporation. All rights reserved.</p>
   *
   * @author Shane Bryzak
   * @version 1.0
   */
  @Name("customer")
  @DefinePermissions(permissions = {
    @AclProvider(actions = "modify", provider = "customerAclProvider")
  })
  public class Customer
  {
    private String name;
    private boolean readonly;
  
    public String getName()
    {
      return name;
    }
  
    public void setName(String name)
    {
      this.name = name;
    }
  
    public boolean isReadonly()
    {
      return readonly;
    }
  
    public void setReadonly(boolean readonly)
    {
      this.readonly = readonly;
    }
  }
  
  
  
  1.1      date: 2006/10/22 10:01:02;  author: sbryzak2;  state: Exp;jboss-seam/examples/security/src/org/jboss/seam/example/security/CustomerAclProvider.java
  
  Index: CustomerAclProvider.java
  ===================================================================
  package org.jboss.seam.example.security;
  
  import java.security.Principal;
  import java.security.acl.Permission;
  import java.util.HashMap;
  import java.util.HashSet;
  import java.util.Map;
  import java.util.Set;
  
  import org.jboss.seam.annotations.Name;
  import org.jboss.seam.security.Authentication;
  import org.jboss.seam.security.SeamPermission;
  import org.jboss.seam.security.acl.AbstractAclProvider;
  
  /**
   * <p>PROPRIETARY/CONFIDENTIAL Use of this product is subject to license terms.
   * Copyright (c) 2006 Symantec Corporation. All rights reserved.</p>
   *
   * @author Shane Bryzak
   * @version 1.0
   */
  @Name("customerAclProvider")
  public class CustomerAclProvider extends AbstractAclProvider
  {
    public Map<Principal,Set<Permission>> getPermissions(Object obj)
    {
      Map<Principal, Set<Permission>> perms = new HashMap<Principal,Set<Permission>>();
      perms.put(Authentication.instance(), getPermissions(obj, Authentication.instance()));
      return perms;
    }
  
    public Set<Permission> getPermissions(Object obj, Principal principal)
    {
      if (obj instanceof Customer && !((Customer) obj).isReadonly())
      {
        Set<Permission> perms = new HashSet<Permission>();
        perms.add(new SeamPermission("customer", "modify"));
        return perms;
      }
      return null;
    }
  }
  
  
  



More information about the jboss-cvs-commits mailing list