Author: dimuthul
Date: Wed Dec 5 20:56:59 2007
New Revision: 10581
Log:
Fixing Commons 39.
Modified:
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/Authorizer.java
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/acl/realm/ACLAuthorizer.java
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/readwrite/DefaultAuthorizer.java
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/readwrite/DefaultRealmConstants.java
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/readwrite/DefaultUserStoreReader.java
trunk/commons/usermanager/modules/core/src/test/java/org/wso2/usermanager/readwrite/DefaultRealmTest.java
Modified:
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/Authorizer.java
==============================================================================
---
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/Authorizer.java
(original)
+++
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/Authorizer.java
Wed Dec 5 20:56:59 2007
@@ -32,7 +32,13 @@
/**
* Returns all roles who are authorized to perform an action on a resource
*/
- public String[] getAuthorizedRolesForResource(String resourceId,
+ public String[] getAllowedRolesForResource(String resourceId,
+ String action) throws UserManagerException;
+
+ /**
+ * Returns all roles who are authorized to perform an action on a resource
+ */
+ public String[] getDeniedRolesForResource(String resourceId,
String action) throws UserManagerException;
}
Modified:
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/acl/realm/ACLAuthorizer.java
==============================================================================
---
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/acl/realm/ACLAuthorizer.java
(original)
+++
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/acl/realm/ACLAuthorizer.java
Wed Dec 5 20:56:59 2007
@@ -14,11 +14,16 @@
this.adminUserName = user;
}
- public String[] getAuthorizedRolesForResource(String resourceId,
- String action) throws UserManagerException {
- return authorizer.getAuthorizedRolesForResource(resourceId, action);
+ public String[] getAllowedRolesForResource(String resourceId,
+ String action) throws UserManagerException{
+ return authorizer.getAllowedRolesForResource(resourceId, action);
}
-
+
+ public String[] getDeniedRolesForResource(String resourceId,
+ String action) throws UserManagerException{
+ return authorizer.getDeniedRolesForResource(resourceId, action);
+ }
+
public String[] getAllowedUsersForResource(String resourceId,
String action) throws UserManagerException{
Modified:
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/readwrite/DefaultAuthorizer.java
==============================================================================
---
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/readwrite/DefaultAuthorizer.java
(original)
+++
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/readwrite/DefaultAuthorizer.java
Wed Dec 5 20:56:59 2007
@@ -102,11 +102,11 @@
}
- public String[] getAuthorizedRolesForResource(String resourceId,
+ public String[] getAllowedRolesForResource(String resourceId,
String action) throws UserManagerException {
String[] names = new String[0];
try {
- PreparedStatement getAuthorizedRolesForResourceStmt =
dbConnection.prepareStatement(DefaultRealmConstants.GET_ROLES_WITH_RESOURCE_PERMISSION);
+ PreparedStatement getAuthorizedRolesForResourceStmt =
dbConnection.prepareStatement(DefaultRealmConstants.GET_ALLOWED_ROLES_FOR_RESOURCE);
getAuthorizedRolesForResourceStmt.setString(1, resourceId);
getAuthorizedRolesForResourceStmt.setString(2, action);
ResultSet rs = getAuthorizedRolesForResourceStmt.executeQuery();
@@ -125,6 +125,31 @@
return names;
}
+ public String[] getDeniedRolesForResource(String resourceId,
+ String action) throws UserManagerException{
+
+ String[] names = new String[0];
+ try {
+ PreparedStatement getAuthorizedRolesForResourceStmt =
dbConnection.prepareStatement(DefaultRealmConstants.GET_DENIED_ROLES_FOR_RESOURCE);
+ getAuthorizedRolesForResourceStmt.setString(1, resourceId);
+ getAuthorizedRolesForResourceStmt.setString(2, action);
+ ResultSet rs = getAuthorizedRolesForResourceStmt.executeQuery();
+ List lst = new LinkedList();
+ while (rs.next()) {
+ lst.add(rs.getString(DefaultRealmConstants.COLUMN_ROLE_NAME));
+ }
+ if (lst.size() > 0) {
+ names = (String[]) lst.toArray(new String[lst.size()]);
+ }
+ getAuthorizedRolesForResourceStmt.close();
+ } catch (SQLException e) {
+ log.debug(e);
+ throw new UserManagerException("errorReadingFromUserStore", e);
+ }
+ return names;
+
+ }
+
private Boolean getUserAuthorizationConsideringRoles(String userName,
String resourceId, String action) throws UserManagerException {
@@ -163,7 +188,7 @@
Boolean isAuthorized = null;
try {
PreparedStatement isRoleAuthorizedStmt = dbConnection
- .prepareStatement(DefaultRealmConstants.GET_ROLE_ALLOWED);
+
.prepareStatement(DefaultRealmConstants.GET_ROLE_AUTHORIZED);
isRoleAuthorizedStmt.setString(1, resourceId);
isRoleAuthorizedStmt.setString(2, action);
isRoleAuthorizedStmt.setString(3, roleName);
@@ -185,7 +210,7 @@
Boolean result = null;
try {
PreparedStatement isUserAuthorizedStmt = dbConnection
- .prepareStatement(DefaultRealmConstants.GET_USER_ALLOWED);
+
.prepareStatement(DefaultRealmConstants.GET_USER_AUTHORIZED);
isUserAuthorizedStmt.setString(1, resourceId);
isUserAuthorizedStmt.setString(2, action);
isUserAuthorizedStmt.setString(3, userName);
Modified:
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/readwrite/DefaultRealmConstants.java
==============================================================================
---
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/readwrite/DefaultRealmConstants.java
(original)
+++
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/readwrite/DefaultRealmConstants.java
Wed Dec 5 20:56:59 2007
@@ -13,40 +13,123 @@
public static final String UPDATE_USER = "update um_users set password= ?
where user_name= ?";
public static final String DELETE_USER ="delete from um_users where
user_name = ?";
public static final String DELETE_ROLE = "delete from um_roles where
role_name = ?";
- public static final String DELETE_USER_ROLE = "delete from um_user_roles
where user_id=(select id from um_users where user_name=?) and role_id=(select
id from um_roles where role_name=?)";
- public static final String DELETE_ROLE_ATTRIBUTE = "delete from
um_role_attributes where role_id = ?";
- public static final String DELETE_USER_ATTRIBUTE = "delete from
um_user_attributes where user_id = ?";
- public static final String DELETE_PERMISSION_ON_RESOURCE = "delete from
um_permissions where resource_id = ?";
+
+ public static final String DELETE_USER_ROLE = "delete from um_user_roles" +
+ " where user_id=(select id from um_users where user_name=?)" +
+ " and role_id=(select id from um_roles where role_name=?)";
+
+ public static final String DELETE_ROLE_ATTRIBUTE = "delete from
um_role_attributes" +
+ " where role_id = ?";
+
+ public static final String DELETE_USER_ATTRIBUTE = "delete from
um_user_attributes" +
+ " where user_id = ?";
+
+ public static final String DELETE_PERMISSION_ON_RESOURCE = "delete from
um_permissions" +
+ " where resource_id = ?";
+
public static final String GET_USER ="select * from um_users where
user_name=?";
public static final String GET_ROLE = "select * from um_roles where
role_name=?";
- public static final String DELETE_USER_PERMISSION = "delete from
um_user_permissions where user_id = ? and permission_id = ?";
- public static final String DELETE_ROLE_PERMISSION = "delete from
um_role_permissions where role_id = ? and permission_id = ?";
+ public static final String DELETE_USER_PERMISSION = "delete from
um_user_permissions" +
+ " where user_id = ? and permission_id = ?";
+
+ public static final String DELETE_ROLE_PERMISSION = "delete from
um_role_permissions" +
+ " where role_id = ? and permission_id = ?";
+ public static final String GET_USER_ROLES = "select um_roles.role_name" +
+ " from um_user_roles, um_roles, um_users where
um_users.user_name=?" +
+ " and um_users.id=um_user_roles.user_id and" +
+ " um_roles.id=um_user_roles.role_id";
+ public static final String GET_ROLE_ATTRIBUTES = "select *" +
+ " from um_role_attributes, um_roles" +
+ " where um_roles.id = um_role_attributes.role_id" +
+ " and um_roles.role_name=?";
- public static final String GET_USER_ROLES = "select um_roles.role_name
from um_user_roles, um_roles, um_users where um_users.user_name=? and
um_users.id=um_user_roles.user_id and um_roles.id=um_user_roles.role_id";
- public static final String GET_ROLE_ATTRIBUTES = "select * from
um_role_attributes, um_roles where um_roles.id = um_role_attributes.role_id and
um_roles.role_name=?";
- public static final String GET_USER_ATTRIBUTES = "select * from
um_user_attributes, um_users where um_users.id = um_user_attributes.user_id and
um_users.user_name=?";
- public static final String GET_PERMISSION = "select id from um_permissions
where um_permissions.resource_id=? and um_permissions.action=?";
- public static final String GET_ROLE_ALLOWED = "select
um_role_permissions.is_allowed from um_role_permissions, um_permissions,
um_roles where um_role_permissions.role_id=um_roles.id and
um_role_permissions.permission_id=um_permissions.id and
um_permissions.resource_id=? and um_permissions.action=? and
um_roles.role_name=?";
- public static final String GET_USER_ALLOWED = "select
um_user_permissions.is_allowed from um_user_permissions, um_permissions,
um_users where um_user_permissions.user_id=um_users.id and
um_user_permissions.permission_id=um_permissions.id and
um_permissions.resource_id=? and um_permissions.action=? and
um_users.user_name=?";
- public static final String GET_ROLES_WITH_RESOURCE_PERMISSION = "select
um_roles.role_name from um_role_permissions, um_permissions, um_roles where
um_permissions.resource_id=? and um_permissions.action=? and
um_permissions.id=um_role_permissions.permission_id and
um_role_permissions.role_id=um_roles.id";
- public static final String GET_ALLOWED_USERS_ON_RESOURCE = "select
um_users.user_name from um_user_permissions, um_permissions, um_users where
um_permissions.resource_id=? and um_permissions.action=? and
um_permissions.id=um_user_permissions.permission_id and
um_user_permissions.user_id=um_users.id and um_user_permissions.is_allowed=1";
- public static final String GET_DENIED_USERS_ON_RESOURCE = "select
um_users.user_name from um_user_permissions, um_permissions, um_users where
um_permissions.resource_id=? and um_permissions.action=? and
um_permissions.id=um_user_permissions.permission_id and
um_user_permissions.user_id=um_users.id and um_user_permissions.is_allowed=0";
+ public static final String GET_USER_ATTRIBUTES = "select *" +
+ " from um_user_attributes, um_users" +
+ " where um_users.id = um_user_attributes.user_id" +
+ " and um_users.user_name=?";
+
+ public static final String GET_PERMISSION = "select id" +
+ " from um_permissions where um_permissions.resource_id=?" +
+ " and um_permissions.action=?";
+
+ public static final String GET_ROLE_AUTHORIZED = "select" +
+ " um_role_permissions.is_allowed" +
+ " from um_role_permissions, um_permissions, um_roles" +
+ " where um_role_permissions.role_id=um_roles.id" +
+ " and um_role_permissions.permission_id=um_permissions.id" +
+ " and um_permissions.resource_id=?" +
+ " and um_permissions.action=? and um_roles.role_name=?";
+
+ public static final String GET_USER_AUTHORIZED = "select
um_user_permissions.is_allowed" +
+ " from um_user_permissions, um_permissions, um_users" +
+ " where um_user_permissions.user_id=um_users.id" +
+ " and um_user_permissions.permission_id=um_permissions.id" +
+ " and um_permissions.resource_id=?" +
+ " and um_permissions.action=?" +
+ " and um_users.user_name=?";
- public static final String GET_ROLE_PERMISSION = "select * from
um_role_permissions where permission_id=?";
- public static final String GET_USER_PERMISSION = "select * from
um_user_permissions where permission_id=?";
+ public static final String GET_ALLOWED_ROLES_FOR_RESOURCE = "select
um_roles.role_name" +
+ " from um_role_permissions, um_permissions, um_roles" +
+ " where um_permissions.resource_id=?" +
+ " and um_permissions.action=?" +
+ " and um_permissions.id=um_role_permissions.permission_id" +
+ " and um_role_permissions.role_id=um_roles.id" +
+ " and um_role_permissions.is_allowed=1";
+
+ public static final String GET_DENIED_ROLES_FOR_RESOURCE = "select
um_roles.role_name" +
+ " from um_role_permissions, um_permissions, um_roles" +
+ " where um_permissions.resource_id=?" +
+ " and um_permissions.action=?" +
+ " and um_permissions.id=um_role_permissions.permission_id" +
+ " and um_role_permissions.role_id=um_roles.id" +
+ " and um_role_permissions.is_allowed=0";
+
+ public static final String GET_ALLOWED_USERS_ON_RESOURCE = "select
um_users.user_name" +
+ " from um_user_permissions, um_permissions, um_users" +
+ " where um_permissions.resource_id=?" +
+ " and um_permissions.action=?" +
+ " and um_permissions.id=um_user_permissions.permission_id" +
+ " and um_user_permissions.user_id=um_users.id" +
+ " and um_user_permissions.is_allowed=1";
+
+ public static final String GET_DENIED_USERS_ON_RESOURCE = "select
um_users.user_name" +
+ " from um_user_permissions, um_permissions, um_users" +
+ " where um_permissions.resource_id=?" +
+ " and um_permissions.action=?" +
+ " and um_permissions.id=um_user_permissions.permission_id" +
+ " and um_user_permissions.user_id=um_users.id" +
+ " and um_user_permissions.is_allowed=0";
+
+ public static final String GET_ROLE_PERMISSION = "select * from
um_role_permissions" +
+ " where permission_id=?";
+ public static final String GET_USER_PERMISSION = "select * from
um_user_permissions" +
+ " where permission_id=?";
public static final String GET_ROLES_ALL = "select role_name from
um_roles";
public static final String GET_USERS_ALL = "select user_name from
um_users";
public static final String GET_USER_ID = "select id from um_users where
user_name=?";
public static final String GET_ROLE_ID = "select id from um_roles where
role_name=?";
- public static final String GET_RESOURCE_PERMISSION = "select * from
um_permissions where um_permissions.resource_id=?";
- public static final String GET_ATTRIBUTE_NAMES = "select distinct
attr_name from um_user_attributes";
+ public static final String GET_RESOURCE_PERMISSION = "select * from
um_permissions" +
+ " where um_permissions.resource_id=?";
+ public static final String GET_ATTRIBUTE_NAMES = "select distinct
attr_name" +
+ " from um_user_attributes";
+
+ public static final String GET_USERS_IN_ROLE = "select um_users.user_name"
+
+ " from um_users, um_user_roles, um_roles" +
+ " where um_users.id=um_user_roles.user_id" +
+ " and um_roles.id=um_user_roles.role_id" +
+ " and um_roles.role_name=?";
+
+ public static final String GET_USERS_WITH_PROPERTY = "select user_name" +
+ " from um_users, um_user_attributes where um_users.id
=um_user_attributes.user_id" +
+ " and um_user_attributes.attr_name=? and
um_user_attributes.attr_value=?";
- public static final String GET_USERS_IN_ROLE = "select um_users.user_name
from um_users, um_user_roles, um_roles where um_users.id=um_user_roles.user_id
and um_roles.id=um_user_roles.role_id and um_roles.role_name=?";
- public static final String GET_USERS_WITH_PROPVALUE = "select user_name
from um_users, um_user_attributes where um_users.id =um_user_attributes.user_id
and um_user_attributes.attr_name=? and um_user_attributes.attr_value=?";
+ public static final String GET_USERS_WITH_PROPERTY_VALUE = "select
user_name" +
+ " from um_users, um_user_attributes where um_users.id
=um_user_attributes.user_id" +
+ " and um_user_attributes.attr_value=?";
public static final String COLUMN_ATTR_NAME = "attr_name";
public static final String COLUMN_ATTR_VALUE = "attr_value";
Modified:
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/readwrite/DefaultUserStoreReader.java
==============================================================================
---
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/readwrite/DefaultUserStoreReader.java
(original)
+++
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/readwrite/DefaultUserStoreReader.java
Wed Dec 5 20:56:59 2007
@@ -156,10 +156,19 @@
String propetyValue) throws UserManagerException {
String[] names = new String[0];
try {
- PreparedStatement getPropValue = dbConnection
-
.prepareStatement(DefaultRealmConstants.GET_USERS_WITH_PROPVALUE);
- getPropValue.setString(1, propertyName);
- getPropValue.setString(2, propetyValue);
+ PreparedStatement getPropValue = null;
+
+ if(propertyName != null && propertyName.length() != 0){
+ getPropValue= dbConnection
+
.prepareStatement(DefaultRealmConstants.GET_USERS_WITH_PROPERTY);
+ getPropValue.setString(1, propertyName);
+ getPropValue.setString(2, propetyValue);
+ }else{
+ getPropValue= dbConnection
+
.prepareStatement(DefaultRealmConstants.GET_USERS_WITH_PROPERTY_VALUE);
+ getPropValue.setString(1, propetyValue);
+ }
+
ResultSet rs = getPropValue.executeQuery();
List lst = new ArrayList();
while (rs.next()) {
Modified:
trunk/commons/usermanager/modules/core/src/test/java/org/wso2/usermanager/readwrite/DefaultRealmTest.java
==============================================================================
---
trunk/commons/usermanager/modules/core/src/test/java/org/wso2/usermanager/readwrite/DefaultRealmTest.java
(original)
+++
trunk/commons/usermanager/modules/core/src/test/java/org/wso2/usermanager/readwrite/DefaultRealmTest.java
Wed Dec 5 20:56:59 2007
@@ -90,6 +90,7 @@
// restore stuff for further testing
admin.addUser("vajira", "credential");
admin.addUser("juhia", "jooo");
+
}
public void attributesStuff() throws Exception {
@@ -103,6 +104,9 @@
String[] names = reader.getUserNamesWithPropertyValue("telephone",
"9870");
TestCase.assertEquals("dimuthu", names[0]);
+
+ admin.getUserNamesWithPropertyValue(null, "9870");
+ TestCase.assertEquals("dimuthu", names[0]);
Map stored = reader.getUserProperties("dimuthu");
TestCase.assertEquals(props.size(), stored.size());
@@ -120,6 +124,8 @@
String[] attrNames = reader.getUserPropertyNames();
TestCase.assertEquals(2, attrNames.length);
+
+
}
@@ -167,9 +173,6 @@
admin.addRole("hora");
admin.addUserToRole("dimuthu", "normal");
admin.addUserToRole("vajira", "admin");
-
-
-
}
public void authorizationStuff() throws Exception {
@@ -199,11 +202,16 @@
String au = Arrays.toString(authorizedUsers);
TestCase.assertTrue(au.contains("vajira"));
TestCase.assertTrue(au.contains("dimuthu"));
- String[] authorizedRoles = athzr.getAuthorizedRolesForResource(
+
+ String[] authorizedRoles = athzr.getAllowedRolesForResource(
"server", "login");
String ar = Arrays.toString(authorizedRoles);
TestCase.assertTrue(ar.contains("admin"));
-
+
+ String[] deniedRoles = athzr.getDeniedRolesForResource(
+ "denyResource", "deny");
+ TestCase.assertEquals(deniedRoles[0], "admin");
+
acAdmin.clearUserAuthorization("dimuthu", "floor", "dance");
String[] deniedUsers = athzr.getDeniedUsersForResource("denyResource",
@@ -230,6 +238,8 @@
acAdmin.copyAuthorizations("server", "desktop");
TestCase
.assertTrue(athzr.isRoleAuthorized("admin", "desktop",
"login"));
+
+
}
_______________________________________________
Commons-dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/commons-dev