Author: chathura
Date: Tue Feb  5 22:44:26 2008
New Revision: 13296

Log:


Fixed permission issue in UI.
Blocked all modify permissions for /system collection.
Restricted all edit friendly name, password functions for admin and anonymous 
users.



Modified:
   
trunk/registry/modules/core/src/main/java/org/wso2/registry/servlet/RegistryServlet.java
   
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/UserDetailsAction.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/servlet/RegistryServlet.java
==============================================================================
--- 
trunk/registry/modules/core/src/main/java/org/wso2/registry/servlet/RegistryServlet.java
    (original)
+++ 
trunk/registry/modules/core/src/main/java/org/wso2/registry/servlet/RegistryServlet.java
    Tue Feb  5 22:44:26 2008
@@ -137,8 +137,7 @@
 
             try {
                 AccessControlAdmin ac = registryRealm.getAccessControlAdmin();
-                ac.clearRoleAuthorization(
-                        RegistryConstants.EVERYONE_ROLE, "/system", 
ActionConstants.GET);
+                ac.clearResourceAuthorizations("/system");
 
                 ac.authorizeUser(RegistryConstants.SYSTEM_USER, "/system", 
ActionConstants.GET);
                 ac.authorizeUser(RegistryConstants.SYSTEM_USER, "/system", 
ActionConstants.PUT);
@@ -147,16 +146,8 @@
                         RegistryConstants.SYSTEM_USER, "/system", 
UserManagerConstants.AUTHORIZE);
 
                 ac.authorizeUser(RegistryConstants.ADMIN_USER, "/system", 
ActionConstants.GET);
-                ac.authorizeUser(RegistryConstants.ADMIN_USER, "/system", 
ActionConstants.PUT);
-                ac.authorizeUser(RegistryConstants.ADMIN_USER, "/system", 
ActionConstants.DELETE);
-                ac.authorizeUser(
-                        RegistryConstants.ADMIN_USER, "/system", 
UserManagerConstants.AUTHORIZE);
 
                 ac.authorizeRole(RegistryConstants.ADMIN_ROLE, "/system", 
ActionConstants.GET);
-                ac.authorizeRole(RegistryConstants.ADMIN_ROLE, "/system", 
ActionConstants.PUT);
-                ac.authorizeRole(RegistryConstants.ADMIN_ROLE, "/system", 
ActionConstants.DELETE);
-                ac.authorizeRole(
-                        RegistryConstants.ADMIN_ROLE, "/system", 
UserManagerConstants.AUTHORIZE);
 
             } catch (UserManagerException e) {
                 String msg = "Failed to set permissions for the system 
collection.";

Modified: 
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/UserDetailsAction.java
==============================================================================
--- 
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/UserDetailsAction.java
   (original)
+++ 
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/UserDetailsAction.java
   Tue Feb  5 22:44:26 2008
@@ -18,6 +18,7 @@
 
 import org.wso2.registry.LogEntry;
 import org.wso2.registry.RegistryException;
+import org.wso2.registry.RegistryConstants;
 import org.wso2.registry.secure.SecureRegistry;
 import org.wso2.usermanager.Realm;
 import org.wso2.usermanager.UserManagerException;
@@ -53,14 +54,20 @@
 
             Authorizer auth = realm.getAuthorizer();
             if (auth.isUserAuthorized(
-                    getUserName(), UserManagerConstants.USER_RESOURCE, 
UserManagerConstants.EDIT)) {
+                    getUserName(), UserManagerConstants.USER_RESOURCE, 
UserManagerConstants.EDIT) &&
+                    !RegistryConstants.SYSTEM_USER.equals(displayUserName) &&
+                    !RegistryConstants.ANONYMOUS_USER.equals(displayUserName)) 
{
+
                 userEditable = true;
             }
 
             if (auth.isUserAuthorized(getUserName(),
                             UserManagerConstants.ROLE_RESOURCE, 
UserManagerConstants.ADD) &&
                     auth.isUserAuthorized(getUserName(),
-                            UserManagerConstants.ROLE_RESOURCE, 
UserManagerConstants.DELETE)) {
+                            UserManagerConstants.ROLE_RESOURCE, 
UserManagerConstants.DELETE) &&
+                    !RegistryConstants.SYSTEM_USER.equals(displayUserName) &&
+                    !RegistryConstants.ANONYMOUS_USER.equals(displayUserName)) 
{
+
                 userAdmin = true;
             }
 

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   Tue Feb 
 5 22:44:26 2008
@@ -187,17 +187,17 @@
             divx.style.display='block';
         if(divx.nodeName == 'IMG')
             try {
-                     divx.style.display='inline';
-                   } catch(e) {
-                     divx.style.display = 'block';
-                   }
-            
+                divx.style.display='inline';
+            } catch(e) {
+                divx.style.display = 'block';
+            }
+
         if(divx.nodeName == 'TR'){
-               try {
-                     divx.style.display='table-row';
-                   } catch(e) {
-                     divx.style.display = 'block';
-                   }
+            try {
+                divx.style.display='table-row';
+            } catch(e) {
+                divx.style.display = 'block';
+            }
         }
         if(divx.nodeName == 'TD')
             divx.style.display='table-cell';
@@ -222,12 +222,12 @@
 
 }
 function so_clearInnerHTML(obj) {
-       // perform a shallow clone on obj
-       nObj = obj.cloneNode(false);
-       // insert the cloned object into the DOM before the original one
-       obj.parentNode.insertBefore(nObj,obj);
-       // remove the original object
-       obj.parentNode.removeChild(obj);
+    // perform a shallow clone on obj
+    nObj = obj.cloneNode(false);
+    // insert the cloned object into the DOM before the original one
+    obj.parentNode.insertBefore(nObj,obj);
+    // remove the original object
+    obj.parentNode.removeChild(obj);
 }
 function processDescription() {
 
@@ -236,24 +236,24 @@
     var edit_button = document.getElementById('editButton');
     var save_button = document.getElementById('saveButton');
     var save_button_on = false;
-   
-       if(save_button.style.display=='block')
-               save_button_on=true;
+
+    if(save_button.style.display=='block')
+        save_button_on=true;
 
     if (save_button_on) {
         tinyMCE.triggerSave();
         var desc = tinyMCE.getContent();
         tinyMCE.execCommand('mceRemoveControl', false, 'descEdit');
         new Ajax.Updater('descView', '/wso2registry/system/setDescription', { 
method: 'post', parameters: {description: desc} });
-        
-      
-        
+
+
+
     }
 
     if(normal_div.style.display=='block'){
-       
+
         var tmpNormalContent = normal_div.innerHTML;
-        
+
         normal_div.style.display='none';
         //edit_div.style.display='block';
         edit_div.style.width="100%";
@@ -263,8 +263,8 @@
         tinyMCE.execCommand('mceAddControl', false, 'descEdit');
         //alert("active Editor thing 2" + tmpNormalContent);
         tinyMCE.setContent(tmpNormalContent);
-        
-        
+
+
     }
     else {
         normal_div.style.display='block';
@@ -428,7 +428,7 @@
         showHideCommon('passwordEdit3');
 
         new Ajax.Updater('passwordDiv', 
'/wso2registry/system/saveNewPassword', { method: 'post', parameters: 
{userName: userName, newPassword: newPassword} });
-     }
+    }
 }
 
 // media type map to store file_extension -> media type pairs.
@@ -596,10 +596,19 @@
 {   var x = name+'Expanded';
     var expanded=true;
     if(document.getElementById(name+'Expanded').style.display=='none'){
-       showHideCommon(name+'IconExpanded');
-       showHideCommon(name+'IconMinimized');
-       showHideCommon(name+'Expanded');
-       showHideCommon(name+'Minimized');
+        showHideCommon(name+'IconExpanded');
+        showHideCommon(name+'IconMinimized');
+        showHideCommon(name+'Expanded');
+        showHideCommon(name+'Minimized');
     }
+}
+
+function handlePeerCheckbox(myID, peerID) {
+
+       var me = document.getElementById(myID);
+       var peer = document.getElementById(peerID);
 
+       if (me.checked == true && peer.checked == true) {
+               peer.checked = false;
+       }
 }
\ No newline at end of file

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 Tue Feb 
 5 22:44:26 2008
@@ -83,14 +83,14 @@
 
         <tr>
             <td><%=permission.getUserName()%></td>
-            <td width="100"><input type="checkbox" 
name="<%=permission.getUserName()%>" value="ra" <% if 
(permission.isReadAllow()) { %> checked <% } %>/></td>
-            <td width="100"><input type="checkbox" 
name="<%=permission.getUserName()%>" value="rd" <% if (permission.isReadDeny()) 
{ %> checked <% } %>/></td>
-            <td width="100"><input type="checkbox" 
name="<%=permission.getUserName()%>" value="wa" <% if 
(permission.isWriteAllow()) { %> checked <% } %>/></td>
-            <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>
+            <td width="100"><input type="checkbox" 
id="<%=permission.getUserName()%>^ra" 
onchange="handlePeerCheckbox('<%=permission.getUserName()%>^ra', 
'<%=permission.getUserName()%>^rd')" name="<%=permission.getUserName()%>" 
value="ra" <% if (permission.isReadAllow()) { %> checked <% } %>/></td>
+            <td width="100"><input type="checkbox" 
id="<%=permission.getUserName()%>^rd" 
onchange="handlePeerCheckbox('<%=permission.getUserName()%>^rd', 
'<%=permission.getUserName()%>^ra')" name="<%=permission.getUserName()%>" 
value="rd" <% if (permission.isReadDeny()) { %> checked <% } %>/></td>
+            <td width="100"><input type="checkbox" 
id="<%=permission.getUserName()%>^wa" 
onchange="handlePeerCheckbox('<%=permission.getUserName()%>^wa', 
'<%=permission.getUserName()%>^wd')" name="<%=permission.getUserName()%>" 
value="wa" <% if (permission.isWriteAllow()) { %> checked <% } %>/></td>
+            <td width="100"><input type="checkbox" 
id="<%=permission.getUserName()%>^wd" 
onchange="handlePeerCheckbox('<%=permission.getUserName()%>^wd', 
'<%=permission.getUserName()%>^wa')" name="<%=permission.getUserName()%>" 
value="wd" <% if (permission.isWriteDeny()) { %> checked <% } %>/></td>
+            <td width="100"><input type="checkbox" 
id="<%=permission.getUserName()%>^da" 
onchange="handlePeerCheckbox('<%=permission.getUserName()%>^da', 
'<%=permission.getUserName()%>^dd')" name="<%=permission.getUserName()%>" 
value="da" <% if (permission.isDeleteAllow()) { %> checked <% } %>/></td>
+            <td width="100"><input type="checkbox" 
id="<%=permission.getUserName()%>^dd" 
onchange="handlePeerCheckbox('<%=permission.getUserName()%>^dd', 
'<%=permission.getUserName()%>^da')" name="<%=permission.getUserName()%>" 
value="dd" <% if (permission.isDeleteDeny()) { %> checked <% } %>/></td>
+            <td width="100"><input type="checkbox" 
id="<%=permission.getUserName()%>^aa" 
onchange="handlePeerCheckbox('<%=permission.getUserName()%>^aa', 
'<%=permission.getUserName()%>^ad')" name="<%=permission.getUserName()%>" 
value="aa" <% if (permission.isAuthorizeAllow()) { %> checked <% } %>/></td>
+            <td width="100"><input type="checkbox" 
id="<%=permission.getUserName()%>^ad" 
onchange="handlePeerCheckbox('<%=permission.getUserName()%>^ad', 
'<%=permission.getUserName()%>^aa')" name="<%=permission.getUserName()%>" 
value="ad" <% if (permission.isAuthorizeDeny()) { %> checked <% } %>/></td>
         </tr>
         <% } %>
         <tr>
@@ -167,14 +167,14 @@
 
         <tr>
             <td><%=permission.getUserName()%></td>
-            <td width="100"><input type="checkbox" 
name="<%=permission.getUserName()%>" value="ra" <% if 
(permission.isReadAllow()) { %> checked <% } %>/></td>
-            <td width="100"><input type="checkbox" 
name="<%=permission.getUserName()%>" value="rd" <% if (permission.isReadDeny()) 
{ %> checked <% } %>/></td>
-            <td width="100"><input type="checkbox" 
name="<%=permission.getUserName()%>" value="wa" <% if 
(permission.isWriteAllow()) { %> checked <% } %>/></td>
-            <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>
+            <td width="100"><input type="checkbox" 
id="<%=permission.getUserName()%>^rra" 
onchange="handlePeerCheckbox('<%=permission.getUserName()%>^rra', 
'<%=permission.getUserName()%>^rrd')" name="<%=permission.getUserName()%>" 
value="ra" <% if (permission.isReadAllow()) { %> checked <% } %>/></td>
+            <td width="100"><input type="checkbox" 
id="<%=permission.getUserName()%>^rrd" 
onchange="handlePeerCheckbox('<%=permission.getUserName()%>^rrd', 
'<%=permission.getUserName()%>^rra')" name="<%=permission.getUserName()%>" 
value="rd" <% if (permission.isReadDeny()) { %> checked <% } %>/></td>
+            <td width="100"><input type="checkbox" 
id="<%=permission.getUserName()%>^rwa" 
onchange="handlePeerCheckbox('<%=permission.getUserName()%>^rwa', 
'<%=permission.getUserName()%>^rwd')" name="<%=permission.getUserName()%>" 
value="wa" <% if (permission.isWriteAllow()) { %> checked <% } %>/></td>
+            <td width="100"><input type="checkbox" 
id="<%=permission.getUserName()%>^rwd" 
onchange="handlePeerCheckbox('<%=permission.getUserName()%>^rwd', 
'<%=permission.getUserName()%>^rwa')" name="<%=permission.getUserName()%>" 
value="wd" <% if (permission.isWriteDeny()) { %> checked <% } %>/></td>
+            <td width="100"><input type="checkbox" 
id="<%=permission.getUserName()%>^rda" 
onchange="handlePeerCheckbox('<%=permission.getUserName()%>^rda', 
'<%=permission.getUserName()%>^rdd')" name="<%=permission.getUserName()%>" 
value="da" <% if (permission.isDeleteAllow()) { %> checked <% } %>/></td>
+            <td width="100"><input type="checkbox" 
id="<%=permission.getUserName()%>^rdd" 
onchange="handlePeerCheckbox('<%=permission.getUserName()%>^rdd', 
'<%=permission.getUserName()%>^rda')" name="<%=permission.getUserName()%>" 
value="dd" <% if (permission.isDeleteDeny()) { %> checked <% } %>/></td>
+            <td width="100"><input type="checkbox" 
id="<%=permission.getUserName()%>^raa" 
onchange="handlePeerCheckbox('<%=permission.getUserName()%>^raa', 
'<%=permission.getUserName()%>^rad')" name="<%=permission.getUserName()%>" 
value="aa" <% if (permission.isAuthorizeAllow()) { %> checked <% } %>/></td>
+            <td width="100"><input type="checkbox" 
id="<%=permission.getUserName()%>^rad" 
onchange="handlePeerCheckbox('<%=permission.getUserName()%>^rad', 
'<%=permission.getUserName()%>^raa')" 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

Reply via email to