I’ve tried to use the impersonate portlet (/portlet/wm_impersonateuser), while logged as sysadmin, and now I’m having the error below.
How do I remove the impersonate feature?
com.webMethods.portal.bizPolicy.BizException: [POP.002.0005] Unable to locate command: authenticateUser
at com.webMethods.portal.bizPolicy.biz.impl.BizPolicy.getCommand(BizPolicy.java:46)
at com.webMethods.portal.bizPolicy.biz.dir.impl.DirSystemBizPolicy.authenticateUser(DirSystemBizPolicy.java:36)
at com.webMethods.portal.framework.session.handlers.Validate.authenticateUser(Validate.java:224)
at com.webMethods.portal.framework.session.handlers.Validate.handle(Validate.java:149)
at com.webMethods.portal.framework.session.SessionManager.handleSession(SessionManager.java:212)
at com.webMethods.portal.framework.dispatch.DispatchManager.initSession(DispatchManager.java:658)
at com.webMethods.portal.framework.dispatch.DispatchManager.handleDispatch(DispatchManager.java:334)
at com.webMethods.portal.framework.impl.PortalServlet.service(PortalServlet.java:273)
The fact that the “authenticateUser” command can’t be found is a bit disturbing. Have you deployed or undeployed any other portlets recently? Maybe the wm_lockdown?
I’m not sure how you were using the Impersonate Portlet or how that could’ve generated the problem you are seeing though.
The lockdown portlet overrides the default AuthenticateUser command. When uninstalling, it should restore the original command, but it looks like it didn’t.
What you’ll need to do is to re-install the core command. The best way to do that is the following:
Get a local copy of the phaseProvider.xml with mws getconfig phaseProvider.xml
Open that file and add the folowing code at the end (Just before the ):
At the end of the restart, the AuthenticateUser command should get reinstalled. You should then delete the phaseProvider.xml (Don’t commit back to the database).
Thanks for the quick reply.
This was a production issue, and so, we decided to restore a database and file system backup which solved the issue.
Now, I’ve tried to reproduce the issue in development with no success.
wm_impersonateuser and wm_lockdown are both working fine in development.