Author: chathura
Date: Wed Jan 9 00:24:44 2008
New Revision: 12011
Log:
Implemented support for changing AUTHORIZE permission in the UI for resource
level.
Modified:
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/builtin/WSDLMediaTypeHandler.java
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/AuthorizationAction.java
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/MassAuthorizationAction.java
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/MassRoleAuthorizationAction.java
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/ResourceDetailsAction.java
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/RoleAuthorizationAction.java
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/utils/Permission.java
trunk/registry/modules/webapps/src/main/webapp/admin/js/common.js
trunk/registry/modules/webapps/src/main/webapp/admin/permisions.jsp
Modified:
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/builtin/WSDLMediaTypeHandler.java
==============================================================================
---
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/builtin/WSDLMediaTypeHandler.java
(original)
+++
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/builtin/WSDLMediaTypeHandler.java
Wed Jan 9 00:24:44 2008
@@ -41,7 +41,7 @@
}
public Resource get(String path, Resource rawArtifact) throws
RegistryException {
- return null; //To change body of implemented methods use File |
Settings | File Templates.
+ return null;
}
public boolean put(String path, Resource resource) throws
RegistryException {
@@ -49,15 +49,15 @@
String wsdlURL = resource.getProperty("fetchURL");
wsdlFileProcessor.saveWSDLFileToRegistry(wsdlURL, getParentPath(path));
- return true; //To change body of implemented methods use File |
Settings | File Templates.
+ return true;
}
public boolean delete(String path) throws RegistryException {
- return false; //To change body of implemented methods use File |
Settings | File Templates.
+ return false;
}
public boolean putChild(String childPath, Resource resource) throws
RegistryException {
- return false; //To change body of implemented methods use File |
Settings | File Templates.
+ return false;
}
private static String getParentPath(String childPath) {
Modified:
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/AuthorizationAction.java
==============================================================================
---
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/AuthorizationAction.java
(original)
+++
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/AuthorizationAction.java
Wed Jan 9 00:24:44 2008
@@ -21,6 +21,7 @@
import org.wso2.registry.secure.SecureRegistry;
import org.wso2.usermanager.Realm;
import org.wso2.usermanager.UserManagerException;
+import org.wso2.usermanager.UserManagerConstants;
import javax.servlet.http.HttpServletRequest;
@@ -66,6 +67,16 @@
userRealm.getAccessControlAdmin().denyUser(userToAuthorize, pathToAuthorize,
ActionConstants.DELETE);
}
}
+
+ if (actionToAuthorize.equals("5")) {
+
+ if (permissionType.equals("1")) {
+
userRealm.getAccessControlAdmin().authorizeUser(userToAuthorize,
pathToAuthorize, UserManagerConstants.AUTHORIZE);
+ } else {
+
userRealm.getAccessControlAdmin().denyUser(userToAuthorize, pathToAuthorize,
UserManagerConstants.AUTHORIZE);
+ }
+ }
+
} catch (UserManagerException e) {
String msg = "Could not set authorizations. Caused by: " +
e.getMessage();
throw new RegistryException(msg);
Modified:
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/MassAuthorizationAction.java
==============================================================================
---
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/MassAuthorizationAction.java
(original)
+++
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/MassAuthorizationAction.java
Wed Jan 9 00:24:44 2008
@@ -23,6 +23,7 @@
import org.wso2.usermanager.AccessControlAdmin;
import org.wso2.usermanager.Realm;
import org.wso2.usermanager.UserManagerException;
+import org.wso2.usermanager.UserManagerConstants;
import javax.servlet.http.HttpServletRequest;
@@ -64,6 +65,7 @@
accessControlAdmin.clearUserAuthorization(permUser,
resourcePath, ActionConstants.GET);
accessControlAdmin.clearUserAuthorization(permUser,
resourcePath, ActionConstants.PUT);
accessControlAdmin.clearUserAuthorization(permUser,
resourcePath, ActionConstants.DELETE);
+ accessControlAdmin.clearUserAuthorization(permUser,
resourcePath, UserManagerConstants.AUTHORIZE);
}
for (int j = 1; j < permissions.length; j++) {
@@ -96,6 +98,14 @@
if (checked.equals("true")) {
accessControlAdmin.denyUser(permUser,
resourcePath, ActionConstants.DELETE);
}
+ } else if (action.equals("aa")) {
+ if (checked.equals("true")) {
+ accessControlAdmin.authorizeUser(permUser,
resourcePath, UserManagerConstants.AUTHORIZE);
+ }
+ } else if (action.equals("ad")) {
+ if (checked.equals("true")) {
+ accessControlAdmin.denyUser(permUser,
resourcePath, UserManagerConstants.AUTHORIZE);
+ }
}
}
}
Modified:
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/MassRoleAuthorizationAction.java
==============================================================================
---
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/MassRoleAuthorizationAction.java
(original)
+++
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/MassRoleAuthorizationAction.java
Wed Jan 9 00:24:44 2008
@@ -23,6 +23,7 @@
import org.wso2.usermanager.AccessControlAdmin;
import org.wso2.usermanager.Realm;
import org.wso2.usermanager.UserManagerException;
+import org.wso2.usermanager.UserManagerConstants;
import javax.servlet.http.HttpServletRequest;
@@ -62,6 +63,7 @@
accessControlAdmin.clearRoleAuthorization(permRole,
resourcePath, ActionConstants.GET);
accessControlAdmin.clearRoleAuthorization(permRole,
resourcePath, ActionConstants.PUT);
accessControlAdmin.clearRoleAuthorization(permRole,
resourcePath, ActionConstants.DELETE);
+ accessControlAdmin.clearRoleAuthorization(permRole,
resourcePath, UserManagerConstants.AUTHORIZE);
}
for (int j = 1; j < permissions.length; j++) {
@@ -94,6 +96,14 @@
if (checked.equals("true")) {
accessControlAdmin.denyRole(permRole,
resourcePath, ActionConstants.DELETE);
}
+ } else if (action.equals("aa")) {
+ if (checked.equals("true")) {
+ accessControlAdmin.authorizeRole(permRole,
resourcePath, UserManagerConstants.AUTHORIZE);
+ }
+ } else if (action.equals("ad")) {
+ if (checked.equals("true")) {
+ accessControlAdmin.denyRole(permRole,
resourcePath, UserManagerConstants.AUTHORIZE);
+ }
}
}
}
Modified:
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/ResourceDetailsAction.java
==============================================================================
---
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/ResourceDetailsAction.java
(original)
+++
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/ResourceDetailsAction.java
Wed Jan 9 00:24:44 2008
@@ -24,6 +24,7 @@
import org.wso2.registry.web.actions.utils.VersionPath;
import org.wso2.usermanager.Realm;
import org.wso2.usermanager.UserManagerException;
+import org.wso2.usermanager.UserManagerConstants;
import javax.servlet.http.HttpServletRequest;
import java.util.*;
@@ -320,6 +321,32 @@
}
}
+ String[] aaUsers =
userRealm.getAuthorizer().getAllowedUsersForResource(path,
UserManagerConstants.AUTHORIZE);
+ for (int i = 0; i < aaUsers.length; i++) {
+ if (userPermissionMap.containsKey(aaUsers[i])) {
+ Permission permission = (Permission)
userPermissionMap.get(aaUsers[i]);
+ permission.setAuthorizeAllow(true);
+ } else {
+ Permission permission = new Permission();
+ permission.setUserName(aaUsers[i]);
+ permission.setAuthorizeAllow(true);
+ userPermissionMap.put(aaUsers[i], permission);
+ }
+ }
+
+ String[] adUsers =
userRealm.getAuthorizer().getDeniedUsersForResource(path,
UserManagerConstants.AUTHORIZE);
+ for (int i = 0; i < adUsers.length; i++) {
+ if (userPermissionMap.containsKey(adUsers[i])) {
+ Permission permission = (Permission)
userPermissionMap.get(adUsers[i]);
+ permission.setAuthorizeDeny(true);
+ } else {
+ Permission permission = new Permission();
+ permission.setUserName(adUsers[i]);
+ permission.setAuthorizeDeny(true);
+ userPermissionMap.put(adUsers[i], permission);
+ }
+ }
+
userPermissions = new ArrayList(userPermissionMap.values());
Map rolePermissionMap = new HashMap();
@@ -402,6 +429,32 @@
}
}
+ String[] aaRoles =
userRealm.getAuthorizer().getAllowedRolesForResource(path,
UserManagerConstants.AUTHORIZE);
+ for (int i = 0; i < aaRoles.length; i++) {
+ if (rolePermissionMap.containsKey(aaRoles[i])) {
+ Permission permission = (Permission)
rolePermissionMap.get(aaRoles[i]);
+ permission.setAuthorizeAllow(true);
+ } else {
+ Permission permission = new Permission();
+ permission.setUserName(aaRoles[i]);
+ permission.setAuthorizeAllow(true);
+ rolePermissionMap.put(aaRoles[i], permission);
+ }
+ }
+
+ String[] adRoles =
userRealm.getAuthorizer().getDeniedRolesForResource(path,
UserManagerConstants.AUTHORIZE);
+ for (int i = 0; i < adRoles.length; i++) {
+ if (rolePermissionMap.containsKey(adRoles[i])) {
+ Permission permission = (Permission)
rolePermissionMap.get(adRoles[i]);
+ permission.setAuthorizeDeny(true);
+ } else {
+ Permission permission = new Permission();
+ permission.setUserName(adRoles[i]);
+ permission.setAuthorizeDeny(true);
+ rolePermissionMap.put(adRoles[i], permission);
+ }
+ }
+
rolePermissions = new ArrayList(rolePermissionMap.values());
} catch (UserManagerException e) {
Modified:
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/RoleAuthorizationAction.java
==============================================================================
---
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/RoleAuthorizationAction.java
(original)
+++
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/RoleAuthorizationAction.java
Wed Jan 9 00:24:44 2008
@@ -21,6 +21,7 @@
import org.wso2.registry.secure.SecureRegistry;
import org.wso2.usermanager.Realm;
import org.wso2.usermanager.UserManagerException;
+import org.wso2.usermanager.UserManagerConstants;
import javax.servlet.http.HttpServletRequest;
@@ -66,6 +67,16 @@
userRealm.getAccessControlAdmin().denyRole(roleToAuthorize, pathToAuthorize,
ActionConstants.DELETE);
}
}
+
+ if (actionToAuthorize.equals("5")) {
+
+ if (permissionType.equals("1")) {
+
userRealm.getAccessControlAdmin().authorizeRole(roleToAuthorize,
pathToAuthorize, UserManagerConstants.AUTHORIZE);
+ } else {
+
userRealm.getAccessControlAdmin().denyRole(roleToAuthorize, pathToAuthorize,
UserManagerConstants.AUTHORIZE);
+ }
+ }
+
} catch (UserManagerException e) {
String msg = "Could not set authorizations. Caused by: " +
e.getMessage();
throw new RegistryException(msg);
Modified:
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/utils/Permission.java
==============================================================================
---
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/utils/Permission.java
(original)
+++
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/utils/Permission.java
Wed Jan 9 00:24:44 2008
@@ -25,6 +25,8 @@
private boolean writeDeny;
private boolean deleteAllow;
private boolean deleteDeny;
+ private boolean authorizeAllow;
+ private boolean authorizeDeny;
public String getUserName() {
return userName;
@@ -81,4 +83,20 @@
public void setDeleteDeny(boolean deleteDeny) {
this.deleteDeny = deleteDeny;
}
+
+ public boolean isAuthorizeAllow() {
+ return authorizeAllow;
+ }
+
+ public void setAuthorizeAllow(boolean authorizeAllow) {
+ this.authorizeAllow = authorizeAllow;
+ }
+
+ public boolean isAuthorizeDeny() {
+ return authorizeDeny;
+ }
+
+ public void setAuthorizeDeny(boolean authorizeDeny) {
+ this.authorizeDeny = authorizeDeny;
+ }
}
Modified: trunk/registry/modules/webapps/src/main/webapp/admin/js/common.js
==============================================================================
--- trunk/registry/modules/webapps/src/main/webapp/admin/js/common.js
(original)
+++ trunk/registry/modules/webapps/src/main/webapp/admin/js/common.js Wed Jan
9 00:24:44 2008
@@ -106,7 +106,7 @@
var currentUser = "";
for (i=0; i<len; i++) {
if (pForm.elements[i].type=="checkbox") {
- perm = pForm.elements[i];
+ var perm = pForm.elements[i];
if(pForm.elements[i].name.substring(0,7)!="nonuser") {
if (currentUser != perm.name) {
msgBody=msgBody + "1" + perm.name + "2" + perm.value + "3"
+ perm.checked;
@@ -130,7 +130,7 @@
var currentUser = "";
for (i=0; i<len; i++) {
if (pForm.elements[i].type=="checkbox") {
- perm = pForm.elements[i];
+ var perm = pForm.elements[i];
if(pForm.elements[i].name.substring(0,7)!="nonuser") {
if (currentUser != perm.name) {
msgBody=msgBody + "1" + perm.name + "2" + perm.value + "3"
+ perm.checked;
Modified: trunk/registry/modules/webapps/src/main/webapp/admin/permisions.jsp
==============================================================================
--- trunk/registry/modules/webapps/src/main/webapp/admin/permisions.jsp
(original)
+++ trunk/registry/modules/webapps/src/main/webapp/admin/permisions.jsp Wed Jan
9 00:24:44 2008
@@ -34,6 +34,7 @@
<option value="2">Read</option>
<option value="3">Write</option>
<option value="4">Delete</option>
+ <option value="5">Authorize</option>
</select>
</td>
<td>
@@ -53,6 +54,7 @@
<th colspan="2" align="center">Read</th>
<th colspan="2" align="center">Write</th>
<th colspan="2" align="center">Delete</th>
+ <th colspan="2" align="center">Authorize</th>
</tr>
<tr>
<th align="center">Allow</th>
@@ -61,6 +63,8 @@
<th align="center">Deny</th>
<th align="center">Allow</th>
<th align="center">Deny</th>
+ <th align="center">Allow</th>
+ <th align="center">Deny</th>
</tr>
<%
@@ -77,6 +81,8 @@
<td width="100"><input type="checkbox"
name="<%=permission.getUserName()%>" value="wd" <% if
(permission.isWriteDeny()) { %> checked <% } %>/></td>
<td width="100"><input type="checkbox"
name="<%=permission.getUserName()%>" value="da" <% if
(permission.isDeleteAllow()) { %> checked <% } %>/></td>
<td width="100"><input type="checkbox"
name="<%=permission.getUserName()%>" value="dd" <% if
(permission.isDeleteDeny()) { %> checked <% } %>/></td>
+ <td width="100"><input type="checkbox"
name="<%=permission.getUserName()%>" value="aa" <% if
(permission.isAuthorizeAllow()) { %> checked <% } %>/></td>
+ <td width="100"><input type="checkbox"
name="<%=permission.getUserName()%>" value="ad" <% if
(permission.isAuthorizeDeny()) { %> checked <% } %>/></td>
</tr>
<% } %>
<tr>
@@ -113,6 +119,7 @@
<option value="2">Read</option>
<option value="3">Write</option>
<option value="4">Delete</option>
+ <option value="5">Authorize</option>
</select>
</td>
<td>
@@ -132,6 +139,7 @@
<th colspan="2" align="center">Read</th>
<th colspan="2" align="center">Write</th>
<th colspan="2" align="center">Delete</th>
+ <th colspan="2" align="center">Authorize</th>
</tr>
<tr>
<th align="center">Allow</th>
@@ -140,6 +148,8 @@
<th align="center">Deny</th>
<th align="center">Allow</th>
<th align="center">Deny</th>
+ <th align="center">Allow</th>
+ <th align="center">Deny</th>
</tr>
<%
@@ -156,6 +166,8 @@
<td width="100"><input type="checkbox"
name="<%=permission.getUserName()%>" value="wd" <% if
(permission.isWriteDeny()) { %> checked <% } %>/></td>
<td width="100"><input type="checkbox"
name="<%=permission.getUserName()%>" value="da" <% if
(permission.isDeleteAllow()) { %> checked <% } %>/></td>
<td width="100"><input type="checkbox"
name="<%=permission.getUserName()%>" value="dd" <% if
(permission.isDeleteDeny()) { %> checked <% } %>/></td>
+ <td width="100"><input type="checkbox"
name="<%=permission.getUserName()%>" value="aa" <% if
(permission.isAuthorizeAllow()) { %> checked <% } %>/></td>
+ <td width="100"><input type="checkbox"
name="<%=permission.getUserName()%>" value="ad" <% if
(permission.isAuthorizeDeny()) { %> checked <% } %>/></td>
</tr>
<% } %>
<tr>
_______________________________________________
Registry-dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/registry-dev