how to update property of user using -me- ?

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-17-2019 08:29 AM
@Override
public void execute(WebScriptRequest req, WebScriptResponse res) throws IOException {
logger.info("inside Execute method ");
ServiceResponseDTO responseObject = new ServiceResponseDTO();
String message = req.getParameter(MESSAGE);
logger.info(message);
NodeRef node = serviceRegistry.getPersonService().getPerson("-me-");
logger.info("node is " + node);
if(node!= null) {
serviceRegistry.getNodeService().setProperty(node, USER_EMAIL_STATUS, message);
responseObject.setStatus(STATUS_SUCCESS);
responseObject.setMessage("Property update for node ");
} else {
responseObject.setStatus(STATUS_FAILED);
responseObject.setMessage("Node is not there ");
}
res.getWriter().write(new ObjectMapper().writeValueAsString(responseObject));
}
webscript
<bean id="webscript.customer.user-update.get"
class="com.UserUpdate" parent="webscript">
<property name="serviceRegistry">
<ref bean="ServiceRegistry" />
</property>
</bean>
<webscript>
<shortname>User Update</shortname>
<description> User Update</description>
<url>/collaborate/user/update?message={message}</url>
<format default="json"></format>
<authentication>user</authentication>
</webscript>
this is working for admin but not working for other user
"status": {
"code": 500,
"name": "Internal Error",
"description": "An error inside the HTTP server which prevented it from fulfilling the request."
},
"message": "06171445 Access Denied. You do not have the appropriate permissions to perform this operation.",
"exception": "",
"callstack": [],
"server": "Enterprise v5.2.3 (r852994b1-b12) schema 10,065",
"time": "Jul 17, 2019 12:10:52 PM"
}
- Labels:
-
Alfresco Content Services
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-17-2019 10:20 AM
Can you add some more details "-me-" is something which is confusing.Are you trying to get current logged in user?If that is so this is not the ppropriate method.Can you add the requirement for webscript as well?

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-17-2019 12:34 PM
-me- means current logged in user so I am updating property of logged in user
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-18-2019 01:39 AM
Below is the code for getting current logged in user name.
AuthenticationUtil.getFullyAuthenticatedUser();
Try to run the update code using transaction management and run that particular code as admin/system user.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-18-2019 09:30 AM
JFYI: The moniker "-me-" relates to remote public REST API:
https://api-explorer.alfresco.com/api-explorer/#!/people/getPerson
Regards,
Jan
