[jboss-svn-commits] JBL Code SVN: r21617 - in labs/jbossrules/trunk/drools-guvnor/src/main/java/org: jboss/seam/security/permission and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Mon Aug 18 22:54:52 EDT 2008
Author: jervisliu
Date: 2008-08-18 22:54:52 -0400 (Mon, 18 Aug 2008)
New Revision: 21617
Modified:
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/ServiceImplementation.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/jboss/seam/security/permission/RoleBasedPermissionResolver.java
Log:
a fix for JBRULES-1742.
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/ServiceImplementation.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/ServiceImplementation.java 2008-08-19 00:59:17 UTC (rev 21616)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/ServiceImplementation.java 2008-08-19 02:54:52 UTC (rev 21617)
@@ -175,8 +175,13 @@
}
@WebRemote
- @Restrict("#{s:hasRole('admin')}")
public Boolean createCategory(String path, String name, String description) {
+ if (Contexts.isSessionContextActive()) {
+ Identity.instance().checkPermission(
+ new PackageNameType(null),
+ RoleTypes.ADMIN);
+ }
+
log.info("USER:" + repository.getSession().getUserID()
+ " CREATING cateogory: [" + name + "] in path [" + path + "]");
@@ -710,9 +715,14 @@
@WebRemote
- @Restrict("#{s:hasRole('admin')}")
public String createPackage(String name, String description)
throws SerializableException {
+ if (Contexts.isSessionContextActive()) {
+ Identity.instance().checkPermission(
+ new PackageNameType(null),
+ RoleTypes.ADMIN);
+ }
+
log.info("USER:" + repository.getSession().getUserID()
+ " CREATING package [" + name + "]");
PackageItem item = repository.createPackage(name, description);
@@ -1165,8 +1175,13 @@
}
@WebRemote
- @Restrict("#{s:hasRole('admin')}")
public void clearRulesRepository() {
+ if (Contexts.isSessionContextActive()) {
+ Identity.instance().checkPermission(
+ new PackageNameType(null),
+ RoleTypes.ADMIN);
+ }
+
RulesRepositoryAdministrator admin = new RulesRepositoryAdministrator(
repository.getSession());
admin.clearRulesRepository();
@@ -1365,9 +1380,14 @@
}
@WebRemote
- @Restrict("#{s:hasRole('admin')}")
public void copyPackage(String sourcePackageName, String destPackageName)
throws SerializableException {
+ if (Contexts.isSessionContextActive()) {
+ Identity.instance().checkPermission(
+ new PackageNameType(null),
+ RoleTypes.ADMIN);
+ }
+
try {
repository.copyPackage(sourcePackageName, destPackageName);
} catch (RulesRepositoryException e) {
@@ -1475,8 +1495,13 @@
}
@WebRemote
- @Restrict("#{s:hasRole('admin')}")
public void rebuildSnapshots() throws SerializableException {
+ if (Contexts.isSessionContextActive()) {
+ Identity.instance().checkPermission(
+ new PackageNameType(null),
+ RoleTypes.ADMIN);
+ }
+
Iterator pkit = repository.listPackages();
while (pkit.hasNext()) {
PackageItem pkg = (PackageItem) pkit.next();
@@ -1838,9 +1863,13 @@
}
@WebRemote
- // @Restrict("#{identity.loggedIn}")
- @Restrict("#{s:hasRole('admin')}")
public LogEntry[] showLog() {
+ if (Contexts.isSessionContextActive()) {
+ Identity.instance().checkPermission(
+ new PackageNameType(null),
+ RoleTypes.ADMIN);
+ }
+
return LoggingHelper.getMessages();
}
@@ -1938,21 +1967,36 @@
}
}
- @Restrict("#{s:hasRole('admin')}")
public Map<String, List<String>> listUserPermissions() {
+ if (Contexts.isSessionContextActive()) {
+ Identity.instance().checkPermission(
+ new PackageNameType(null),
+ RoleTypes.ADMIN);
+ }
+
PermissionManager pm = new PermissionManager(repository);
return pm.listUsers();
}
- @Restrict("#{s:hasRole('admin')}")
public Map<String, List<String>> retrieveUserPermissions(String userName) {
+ if (Contexts.isSessionContextActive()) {
+ Identity.instance().checkPermission(
+ new PackageNameType(null),
+ RoleTypes.ADMIN);
+ }
+
PermissionManager pm = new PermissionManager(repository);
return pm.retrieveUserPermissions(userName);
}
- @Restrict("#{s:hasRole('admin')}")
public void updateUserPermissions(String userName,
Map<String, List<String>> perms) {
+ if (Contexts.isSessionContextActive()) {
+ Identity.instance().checkPermission(
+ new PackageNameType(null),
+ RoleTypes.ADMIN);
+ }
+
PermissionManager pm = new PermissionManager(repository);
System.err.println(perms);
log.info("Updating user permissions for userName [" + userName + "] to [" + perms + "]");
@@ -1960,8 +2004,13 @@
repository.save();
}
- @Restrict("#{s:hasRole('admin')}")
public String[] listAvailablePermissionTypes() {
+ if (Contexts.isSessionContextActive()) {
+ Identity.instance().checkPermission(
+ new PackageNameType(null),
+ RoleTypes.ADMIN);
+ }
+
return RoleTypes.listAvailableTypes();
}
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/jboss/seam/security/permission/RoleBasedPermissionResolver.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/jboss/seam/security/permission/RoleBasedPermissionResolver.java 2008-08-19 00:59:17 UTC (rev 21616)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/jboss/seam/security/permission/RoleBasedPermissionResolver.java 2008-08-19 02:54:52 UTC (rev 21617)
@@ -94,13 +94,9 @@
return true;
}
- // Call relating method directly instead of to utilize relating
- // method with @Unwrap notation.
RoleBasedPermissionManager permManager = (RoleBasedPermissionManager)
Component.getInstance("roleBasedPermissionManager");
List<RoleBasedPermission> permissions = permManager.getRoleBasedPermission();
- /*List<RoleBasedPermission> permissions = (List<RoleBasedPermission>) Component
- .getInstance("roleBasedPermissionManager");*/
for (RoleBasedPermission p : permissions) {
if (RoleTypes.ADMIN.equalsIgnoreCase(p.getRole())) {
More information about the jboss-svn-commits
mailing list