import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
+import javax.persistence.OneToOne;
import javax.persistence.Transient;
import org.apache.log4j.Logger;
-import org.wamblee.usermgt.User;
+import org.wamblee.security.authentication.User;
+import org.wamblee.security.authentication.UserAdministration;
/**
* Utility base class for implementation of authentication rules based on the
* .Object, org.wamblee.security.authorization.Operation)
*/
public AuthorizationResult isAllowed(Object aResource,
- Operation aOperation, User aUser) {
+ Operation aOperation, String aUser) {
if (!resourceClass.isInstance(aResource)) {
return UNSUPPORTED_RESOURCE;
}
String path = getResourcePath(aResource);
- return isAllowed(path, aOperation, aUser);
+ return isAllowedWithPath(path, aOperation, aUser);
}
/**
*
* @return Authorization result,
*/
- protected AuthorizationResult isAllowed(String aPath, Operation aOperation,
- User aUser) {
+ protected AuthorizationResult isAllowedWithPath(String aPath, Operation aOperation,
+ String aUser) {
if (!pathCondition.matches(aPath)) {
return UNDECIDED;
}
*
* @return Returns the operationCondition.
*/
- @ManyToOne(cascade = CascadeType.ALL, targetEntity = AbstractOperationCondition.class)
+ @OneToOne(cascade = CascadeType.ALL, targetEntity = AbstractOperationCondition.class, orphanRemoval = true)
@JoinColumn(name = "OPER_COND_PK")
public OperationCondition getOperationCondition() {
return operationCondition;
*
* @return Returns the pathCondition.
*/
- @ManyToOne(cascade = CascadeType.ALL, targetEntity = AbstractPathCondition.class)
+ @OneToOne(cascade = CascadeType.ALL, targetEntity = AbstractPathCondition.class, orphanRemoval = true)
@JoinColumn(name = "PATH_COND_PK")
public PathCondition getPathCondition() {
return pathCondition;
*
* @return Returns the userCondition.
*/
- @ManyToOne(cascade = CascadeType.ALL, targetEntity = AbstractUserCondition.class)
+ @OneToOne(cascade = CascadeType.ALL, targetEntity = AbstractUserCondition.class, orphanRemoval = true)
@JoinColumn(name = "USER_COND_PK")
public UserCondition getUserCondition() {
return userCondition;
protected void setUserCondition(UserCondition aUserCondition) {
userCondition = aUserCondition;
}
+
+ @Override
+ public void setUserAdministration(UserAdministration aAdmin) {
+ userCondition.setUserAdmin(aAdmin);
+ }
+
}