Author: chathura
Date: Wed Jan 30 00:57:23 2008
New Revision: 13170
Log:
Resolving some jiras related to permissions.
Modified:
trunk/registry/modules/core/src/main/java/org/wso2/registry/secure/SecureRegistry.java
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/ControllerServlet.java
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/utils/UserUtil.java
trunk/registry/modules/webapps/src/main/webapp/admin/ajax/user-friendly-name.jsp
trunk/registry/modules/webapps/src/main/webapp/admin/ajax/user-password-edit.jsp
trunk/registry/modules/webapps/src/main/webapp/admin/people.jsp
trunk/registry/modules/webapps/src/main/webapp/admin/registry-resources.jsp
trunk/registry/modules/webapps/src/main/webapp/admin/user.jsp
Modified:
trunk/registry/modules/core/src/main/java/org/wso2/registry/secure/SecureRegistry.java
==============================================================================
---
trunk/registry/modules/core/src/main/java/org/wso2/registry/secure/SecureRegistry.java
(original)
+++
trunk/registry/modules/core/src/main/java/org/wso2/registry/secure/SecureRegistry.java
Wed Jan 30 00:57:23 2008
@@ -72,6 +72,8 @@
.getRealmConfiguration();
config.setRealm(defaultRealm);
config.setAuthenticatedUserName(userID);
+ config.setCurrentUserReadable(true);
+ config.setCurrentUserEditable(true);
userRealm.init(config);
this.userRealm = userRealm;
Modified:
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/ControllerServlet.java
==============================================================================
---
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/ControllerServlet.java
(original)
+++
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/ControllerServlet.java
Wed Jan 30 00:57:23 2008
@@ -37,7 +37,6 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
-import java.net.URLEncoder;
import java.net.URLDecoder;
public class ControllerServlet extends HttpServlet {
@@ -94,7 +93,7 @@
if (command.equals("/signin")) {
//SignInAction signInAction = new SignInAction();
- //signInAction.setUserName(request.getParameter("userName"));
+
//signInAction.setDisplayUserName(request.getParameter("userName"));
//signInAction.setPassword(request.getParameter("password"));
//
//try {
@@ -1003,7 +1002,7 @@
private void forwardToUserPage(HttpServletRequest request,
HttpServletResponse response, String userName) {
UserDetailsAction userDetailsAction = new UserDetailsAction();
- userDetailsAction.setUserName(userName);
+ userDetailsAction.setDisplayUserName(userName);
try {
userDetailsAction.execute(request);
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
Wed Jan 30 00:57:23 2008
@@ -21,6 +21,8 @@
import org.wso2.registry.secure.SecureRegistry;
import org.wso2.usermanager.Realm;
import org.wso2.usermanager.UserManagerException;
+import org.wso2.usermanager.UserManagerConstants;
+import org.wso2.usermanager.Authorizer;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
@@ -28,11 +30,13 @@
public class UserDetailsAction extends AbstractRegistryAction {
- private String userName;
+ private String displayUserName;
private String friendlyName = "";
private List userActivity = new ArrayList();
private List userRoles = new ArrayList();
private List allRoles = new ArrayList();
+ private boolean userEditable;
+ private boolean userAdmin;
public String execute(HttpServletRequest request) throws RegistryException
{
@@ -41,14 +45,32 @@
SecureRegistry secureRegistry = (SecureRegistry) getRegistry();
Realm realm = secureRegistry.getUserRealm();
+ if (getUserName().equals(displayUserName)) {
+ userEditable = true;
+ }
+
try {
+
+ Authorizer auth = realm.getAuthorizer();
+ if (auth.isUserAuthorized(
+ getUserName(), UserManagerConstants.USER_RESOURCE,
UserManagerConstants.EDIT)) {
+ userEditable = true;
+ }
+
+ if (auth.isUserAuthorized(getUserName(),
+ UserManagerConstants.ROLE_RESOURCE,
UserManagerConstants.ADD) &&
+ auth.isUserAuthorized(getUserName(),
+ UserManagerConstants.ROLE_RESOURCE,
UserManagerConstants.DELETE)) {
+ userAdmin = true;
+ }
+
friendlyName = (String) realm.
-
getUserStoreAdmin().getUserProperties(userName).get("friendlyName");
+
getUserStoreAdmin().getUserProperties(displayUserName).get("friendlyName");
if (friendlyName == null) {
friendlyName = "";
}
- String[] rolesArray =
realm.getUserStoreReader().getUserRoles(userName);
+ String[] rolesArray =
realm.getUserStoreReader().getUserRoles(displayUserName);
for (int i = 0; i < rolesArray.length; i++) {
userRoles.add(rolesArray[i]);
}
@@ -67,7 +89,7 @@
throw new RegistryException(msg);
}
- LogEntry[] userLogs = secureRegistry.getLogs(null, -1, userName, null,
null, true);
+ LogEntry[] userLogs = secureRegistry.getLogs(null, -1,
displayUserName, null, null, true);
for (int i = 0; i < userLogs.length && i < 10; i++) {
LogEntry logEntry = userLogs[i];
@@ -94,12 +116,12 @@
return SUCCESS;
}
- public String getUserName() {
- return userName;
+ public String getDisplayUserName() {
+ return displayUserName;
}
- public void setUserName(String userName) {
- this.userName = userName;
+ public void setDisplayUserName(String displayUserName) {
+ this.displayUserName = displayUserName;
}
public String getFriendlyName() {
@@ -129,4 +151,12 @@
public void setAllRoles(List allRoles) {
this.allRoles = allRoles;
}
+
+ public boolean isUserEditable() {
+ return userEditable;
+ }
+
+ public boolean isUserAdmin() {
+ return userAdmin;
+ }
}
Modified:
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/utils/UserUtil.java
==============================================================================
---
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/utils/UserUtil.java
(original)
+++
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/utils/UserUtil.java
Wed Jan 30 00:57:23 2008
@@ -130,7 +130,7 @@
userRealm.getUserStoreAdmin().setUserProperties(userName,
userProperties);
UserDetailsAction userDetailsAction = new UserDetailsAction();
- userDetailsAction.setUserName(userName);
+ userDetailsAction.setDisplayUserName(userName);
userDetailsAction.execute(request);
request.getSession().setAttribute(UIConstants.USER_BEAN,
userDetailsAction);
@@ -157,7 +157,7 @@
//userRealm.getUserStoreAdmin().setUserProperties(userName,
userProperties);
UserDetailsAction userDetailsAction = new UserDetailsAction();
- userDetailsAction.setUserName(userName);
+ userDetailsAction.setDisplayUserName(userName);
userDetailsAction.execute(request);
request.getSession().setAttribute(UIConstants.USER_BEAN,
userDetailsAction);
Modified:
trunk/registry/modules/webapps/src/main/webapp/admin/ajax/user-friendly-name.jsp
==============================================================================
---
trunk/registry/modules/webapps/src/main/webapp/admin/ajax/user-friendly-name.jsp
(original)
+++
trunk/registry/modules/webapps/src/main/webapp/admin/ajax/user-friendly-name.jsp
Wed Jan 30 00:57:23 2008
@@ -11,9 +11,11 @@
<tr id="friendlyNameView">
<th style="width:140px; height:25px;">Friendly name:</th>
<td style="text-align:right;width:20px;" align="right">
+ <% if (userDetailsAction.isUserEditable()) { %>
<a
onclick="showHideCommon('friendlyNameEdit');showHideCommon('friendlyNameView');"
title="Edit Friendly Name" href="#">
<img id="mainIconExpanded" border="0" align="bottom"
src="/wso2registry/admin/images/icon-edit.gif"/>
</a>
+ <% } %>
</td>
<td>
<%=userDetailsAction.getFriendlyName()%>
Modified:
trunk/registry/modules/webapps/src/main/webapp/admin/ajax/user-password-edit.jsp
==============================================================================
---
trunk/registry/modules/webapps/src/main/webapp/admin/ajax/user-password-edit.jsp
(original)
+++
trunk/registry/modules/webapps/src/main/webapp/admin/ajax/user-password-edit.jsp
Wed Jan 30 00:57:23 2008
@@ -15,9 +15,11 @@
<tr id="passwordView">
<th style="width:140px">Password:</th>
<td style="text-align:right;width:20px;" align="right">
+ <% if (userDetailsAction.isUserEditable()) { %>
<a
onclick="showHideCommon('passwordView');showHideCommon('passwordEdit1');showHideCommon('passwordEdit2');showHideCommon('passwordEdit3');"
title="Edit Password" href="#">
<img border="0" align="bottom"
src="/wso2registry/admin/images/icon-edit.gif"/>
</a>
+ <% } %>
</td>
<td>
- - - - - - -
Modified: trunk/registry/modules/webapps/src/main/webapp/admin/people.jsp
==============================================================================
--- trunk/registry/modules/webapps/src/main/webapp/admin/people.jsp
(original)
+++ trunk/registry/modules/webapps/src/main/webapp/admin/people.jsp Wed Jan
30 00:57:23 2008
@@ -147,8 +147,8 @@
%>
<tr>
- <td><a
href="/wso2registry/system/people/<%=regUser%>"><%=regUser%></a></td>
- <td> <%=friendlyName%></td>
+ <td><a
href="/wso2registry/system/people/<%=regUser%>"><%=regUser%></a></td>
+ <td> <%=friendlyName%></td>
<td align="left">
<%
Modified:
trunk/registry/modules/webapps/src/main/webapp/admin/registry-resources.jsp
==============================================================================
--- trunk/registry/modules/webapps/src/main/webapp/admin/registry-resources.jsp
(original)
+++ trunk/registry/modules/webapps/src/main/webapp/admin/registry-resources.jsp
Wed Jan 30 00:57:23 2008
@@ -629,7 +629,7 @@
Comment comment = (Comment) iComments.next();
%>
<div class="comments-header">
- <strong>Commented on
</strong><%=comment.getTime().toString()%><strong> by</strong> <a
href="#"><%=comment.getUser()%></a>
+ <strong>Commented on
</strong><%=comment.getTime().toString()%><strong> by</strong> <a
href="/wso2registry/system/people/<%=comment.getUser()%>"><%=comment.getUser()%></a>
<div class="comments-bottom">
<%=comment.getText()%>
</div>
Modified: trunk/registry/modules/webapps/src/main/webapp/admin/user.jsp
==============================================================================
--- trunk/registry/modules/webapps/src/main/webapp/admin/user.jsp
(original)
+++ trunk/registry/modules/webapps/src/main/webapp/admin/user.jsp Wed Jan
30 00:57:23 2008
@@ -68,9 +68,11 @@
<tr id="friendlyNameView">
<th style="width:140px; height:25px;">Friendly name:</th>
<td style="text-align:right;width:20px;" align="right">
+ <% if (userDetailsAction.isUserEditable()) { %>
<a
onclick="showHideCommon('friendlyNameEdit');showHideCommon('friendlyNameView');"
title="Edit Friendly Name" href="#">
<img id="mainIconExpanded" border="0" align="bottom"
src="/wso2registry/admin/images/icon-edit.gif"/>
</a>
+ <% } %>
</td>
<td>
<%=userDetailsAction.getFriendlyName()%>
@@ -95,9 +97,11 @@
<tr id="passwordView">
<th style="width:140px">Password:</th>
<td style="text-align:right;width:20px;" align="right">
+ <% if (userDetailsAction.isUserEditable()) { %>
<a
onclick="showHideCommon('passwordView');showHideCommon('passwordEdit1');showHideCommon('passwordEdit2');showHideCommon('passwordEdit3');"
title="Edit Password" href="#">
<img border="0" align="bottom"
src="/wso2registry/admin/images/icon-edit.gif"/>
</a>
+ <% } %>
</td>
<td>
- - - - - - -
@@ -120,7 +124,8 @@
</tr>
</table>
</div>
-
+
+ <% if (userDetailsAction.isUserAdmin()) { %>
<h3>Add roles to <%=userDetailsAction.getUserName()%></h3>
<form action="/wso2registry/system/addUserToRole" method="post">
@@ -136,6 +141,8 @@
</select>
<input type="submit" class="button" value="Add"/>
</form>
+ <% } %>
+
<h3>Available roles to <%=userDetailsAction.getUserName()%></h3>
<table cellpadding="0" cellspacing="0" border="0" style="width:600px;"
class="data-table">
<tr>
_______________________________________________
Registry-dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/registry-dev