Thanks,
Scott --
Scott Eade Backstage Technologies Pty. Ltd. http://www.backstagetech.com.au
Scott Eade wrote:
I am still experiencing problems with the Torque Security Service. When turbine attempts to build an ACL it gets:
...
Caused by: org.apache.torque.TorqueException: Malformed column name in Criteria join: 'USER_ID' is not of the form 'table.column'
at org.apache.torque.util.BasePeer.throwMalformedColumnNameException(BasePeer.java:2576)
...
If I track this code back, the offending criteria is built in RollPeerManager.retrieveSet() and the 'USER_ID' itself is coming from UserPeerManager.getIdColumn().
UserPeerManager includes this:
nameColumn = (String) userPeerClass.getField( (String) conf.getString(USER_NAME_COLUMN_KEY, USER_NAME_COLUMN_DEFAULT) ).get(null);
idColumn = (String) userPeerClass.getField( (String) conf.getString(USER_ID_COLUMN_KEY, USER_ID_COLUMN_DEFAULT) ).get(null);
I show nameColumn as well as idColumn because a debug statement I have added in my LoginUser thus:
log.debug("UserPeerManager.getIdColumn(): " + UserPeerManager.getIdColumn()); log.debug("UserPeerManager.getNameColumn(): " + UserPeerManager.getNameColumn());
produces this:
actions.LoginUser - UserPeerManager.getIdColumn(): USER_ID
actions.LoginUser - UserPeerManager.getNameColumn(): TURBINE_USER.LOGIN_NAME
I can't see how the UserPeerManager code is coming back
with 'USER_ID' instead of 'TURBINE_USER.USER_ID' and the
fact that getNameColumn() is coming back with the table name
only serves to add confusion. The reflection code in
UserPeerManager should be retrieving the folowing fromBaseTurbineUserPeer:
USER_ID = "TURBINE_USER.USER_ID"; LOGIN_NAME = "TURBINE_USER.LOGIN_NAME";
My TR.props only defines my custom user peer thus (no other services.SecurityService.torque.* properties are defined):
services.SecurityService.torque.userPeer.class = com.backstagetech.cmes.om.TurbineUserPeer
Though the following SecurityService properties are defined:
services.SecurityService.user.manager = org.apache.turbine.services.security.torque.TorqueUserManager
services.SecurityService.user.class = com.backstagetech.cmes.om.CmesUser
services.SecurityService.group.class = org.apache.turbine.services.security.torque.TorqueGroup
services.SecurityService.role.class = org.apache.turbine.services.security.torque.TorqueRole
services.SecurityService.permission.class = org.apache.turbine.services.security.torque.TorquePermission
services.SecurityService.acl.class = org.apache.turbine.util.security.TurbineAccessControlList
services.SecurityService.userPeer.class = com.backstagetech.cmes.om.TurbineUserPeer
Can somebody spot something wrong with my configuration?
Thanks,
Scott
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
