[jboss-cvs] jboss-seam/src/main/org/jboss/seam/security ...
Shane Bryzak
Shane_Bryzak at symantec.com
Fri Feb 9 01:42:36 EST 2007
User: sbryzak2
Date: 07/02/09 01:42:36
Added: src/main/org/jboss/seam/security
SecurityEntityListener.java
Log:
JBSEAM-732
Revision Changes Path
1.1 date: 2007/02/09 06:42:36; author: sbryzak2; state: Exp;jboss-seam/src/main/org/jboss/seam/security/SecurityEntityListener.java
Index: SecurityEntityListener.java
===================================================================
package org.jboss.seam.security;
import javax.persistence.PrePersist;
import javax.persistence.PreRemove;
import javax.persistence.PreUpdate;
import org.jboss.seam.Seam;
import org.jboss.seam.contexts.Contexts;
public class SecurityEntityListener
{
@PrePersist
public void prePersist(Object entity)
{
entitySecurityCheck(entity, "insert");
}
@PreUpdate
public void preUpdate(Object entity)
{
entitySecurityCheck(entity, "update");
}
@PreRemove
public void preRemove(Object entity)
{
entitySecurityCheck(entity, "delete");
}
protected void entitySecurityCheck(Object entity, String action)
{
String name = Seam.getComponentName(entity.getClass());
if (name == null) name = entity.getClass().getName();
Contexts.getMethodContext().set("entity", entity);
String expr = String.format("#{s:hasPermission('%s', '%s', entity)}",
name, action);
Identity.instance().checkRestriction(expr);
}
}
More information about the jboss-cvs-commits
mailing list