[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