[jboss-cvs] JBossBlog SVN: r224 - trunk/src/action/org/jboss/blog/session/security.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Feb 26 11:34:15 EST 2008
Author: adamw
Date: 2008-02-26 11:34:15 -0500 (Tue, 26 Feb 2008)
New Revision: 224
Modified:
trunk/src/action/org/jboss/blog/session/security/Authenticator.java
trunk/src/action/org/jboss/blog/session/security/FeedsIdentity.java
trunk/src/action/org/jboss/blog/session/security/SecurityModBean.java
trunk/src/action/org/jboss/blog/session/security/SecurityObserver.java
Log:
Modified: trunk/src/action/org/jboss/blog/session/security/Authenticator.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/security/Authenticator.java 2008-02-26 16:11:12 UTC (rev 223)
+++ trunk/src/action/org/jboss/blog/session/security/Authenticator.java 2008-02-26 16:34:15 UTC (rev 224)
@@ -38,22 +38,14 @@
return false;
}
+ identity.setSecurityUser(user);
+
List<SecurityGroup> securityGroups = externalSecurityService.getGroupsOfUser(user);
addFeedRolesFromMappings(user.getMappings());
for (SecurityGroup securityGroup : securityGroups) {
addFeedRolesFromMappings(securityGroup.getMappings());
}
-
- /*if ("admin".equals(identity.getUsername())) {
- identity.addFeedsRole(FeedsSecurityRole.ADMIN);
- }
- if ("bobs_group".equals(identity.getUsername())) {
- identity.addFeedsRole(FeedsSecurityRole.GROUP_ADMIN, 6);
- }
- if ("sacha".equals(identity.getUsername())) {
- identity.addFeedsRole(FeedsSecurityRole.FEED_ADMIN, 34);
- }*/
return true;
}
Modified: trunk/src/action/org/jboss/blog/session/security/FeedsIdentity.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/security/FeedsIdentity.java 2008-02-26 16:11:12 UTC (rev 223)
+++ trunk/src/action/org/jboss/blog/session/security/FeedsIdentity.java 2008-02-26 16:34:15 UTC (rev 224)
@@ -9,6 +9,7 @@
import org.jboss.seam.annotations.intercept.BypassInterceptors;
import static org.jboss.seam.ScopeType.SESSION;
import org.jboss.blog.model.security.FeedsSecurityRole;
+import org.jboss.blog.model.security.SecurityUser;
import org.drools.StatefulSession;
import org.drools.FactHandle;
import org.drools.base.ClassObjectFilter;
@@ -24,6 +25,16 @@
@Install(precedence = APPLICATION)
@Startup
public class FeedsIdentity extends RuleBasedIdentity {
+ private SecurityUser securityUser;
+
+ public SecurityUser getSecurityUser() {
+ return securityUser;
+ }
+
+ public void setSecurityUser(SecurityUser securityUser) {
+ this.securityUser = securityUser;
+ }
+
public boolean addFeedsRole(FeedsSecurityRole role) {
return addFeedsRole(role, null);
}
Modified: trunk/src/action/org/jboss/blog/session/security/SecurityModBean.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/security/SecurityModBean.java 2008-02-26 16:11:12 UTC (rev 223)
+++ trunk/src/action/org/jboss/blog/session/security/SecurityModBean.java 2008-02-26 16:34:15 UTC (rev 224)
@@ -93,6 +93,7 @@
SecurityMapping mapping = new SecurityMapping();
mapping.setRole(role);
mapping.setIdForRole(idForRole);
+ mapping.setUsers(new ArrayList<SecurityUser>());
mapping.setGroups(new ArrayList<SecurityGroup>());
entityManager.persist(mapping);
Modified: trunk/src/action/org/jboss/blog/session/security/SecurityObserver.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/security/SecurityObserver.java 2008-02-26 16:11:12 UTC (rev 223)
+++ trunk/src/action/org/jboss/blog/session/security/SecurityObserver.java 2008-02-26 16:34:15 UTC (rev 224)
@@ -6,8 +6,10 @@
import org.jboss.blog.model.Group;
import org.jboss.blog.model.feed.Feed;
import org.jboss.blog.model.security.FeedsSecurityRole;
+import org.jboss.blog.model.security.SecurityMapping;
import javax.persistence.EntityManager;
+import java.util.List;
/**
* @author <a href="mailto:adam at warski.org">Adam Warski</a>
@@ -20,33 +22,56 @@
@In
private EntityManager entityManager;
+ @In
+ private SecurityModBean securityMod;
+
@Observer({"org.jboss.blog.group.updated"})
public void groupUpdated(Group group) { }
@Observer({"org.jboss.blog.group.added"})
public void groupAdded(Group group) {
+ securityMod.setRole(FeedsSecurityRole.GROUP_ADMIN);
+ securityMod.setGroup(group);
+ securityMod.setRestrictedSecurityUser(identity.getSecurityUser());
+ securityMod.addSecurityUser();
+
+ entityManager.flush();
}
@Observer({"org.jboss.blog.group.deleted"})
public void groupDeleted(Group group) {
- entityManager.createQuery("delete from SecurityMapping sm where sm.idForRole = ?1 and sm.role = ?2")
- .setParameter(1, group.getId()).setParameter(2, FeedsSecurityRole.GROUP_ADMIN)
- .executeUpdate();
+ //noinspection unchecked
+ List<SecurityMapping> mappings =
+ entityManager.createQuery("select sm from SecurityMapping sm where sm.idForRole = ?1 and sm.role = ?2")
+ .setParameter(1, group.getId()).setParameter(2, FeedsSecurityRole.GROUP_ADMIN)
+ .getResultList();
+
+ for (SecurityMapping mapping : mappings) {
+ entityManager.remove(mapping);
+ }
+
+ entityManager.flush();
}
@Observer({"org.jboss.blog.feed.updated"})
public void feedUpdated(Feed feed) { }
@Observer({"org.jboss.blog.feed.added"})
- public void feedAdded(Feed feed) {
+ public void feedAdded(Feed feed) { }
- }
-
@Observer({"org.jboss.blog.feed.deleted"})
public void feedDeleted(Feed feed) {
- entityManager.createQuery("delete from SecurityMapping sm where sm.idForRole = ?1 and sm.role = ?2")
- .setParameter(1, feed.getId()).setParameter(2, FeedsSecurityRole.FEED_ADMIN)
- .executeUpdate();
+ //noinspection unchecked
+ List<SecurityMapping> mappings =
+ entityManager.createQuery("select sm from SecurityMapping sm where sm.idForRole = ?1 and sm.role = ?2")
+ .setParameter(1, feed.getId()).setParameter(2, FeedsSecurityRole.FEED_ADMIN)
+ .getResultList();
+
+ for (SecurityMapping mapping : mappings) {
+ entityManager.remove(mapping);
+ }
+
+ entityManager.flush();
}
}
More information about the jboss-cvs-commits
mailing list