I removed the UserPeer class in TR.props that you mentioned. The call still fails. I have attached the MySQL log at the bottom of this and all the select fields are filled in as you suggest.
But I am still uncertain of how to proceed further.

The following is the trace back from my failed call to getAuthenticatedUser()
mycode.java
import org.apache.turbine.om.security.User;
User AuthUser = TurbineSecurity.getAuthenticatedUser("user", "password");

thrown from TorqueUserManager at accountExists(user.getName());

public boolean accountExists(User user)
        throws DataBackendException
    {
        return accountExists(user.getName());
    }

thrown from TorqueUserManager   at if(!accountExists(user))
 public void authenticate(User user, String password)
        throws PasswordMismatchException, UnknownEntityException,
               DataBackendException
    {
        if (!accountExists(user))
        {
            throw new UnknownEntityException("The account '" +
user.getName() + "' does not exist");
        }

        // log.debug("Supplied Pass: " + password);
        // log.debug("User Pass: " + user.getPassword());

        /*
         * Unix crypt needs the existing, encrypted password text as
         * salt for checking the supplied password. So we supply it
         * into the checkPassword routine
         */

        if (!TurbineSecurity.checkPassword(password, user.getPassword()))
        {
throw new PasswordMismatchException("The passwords do not match");
        }
    }


thrown from TorqueUserManager  at authenticate(userName)

 public User retrieve(String userName, String password)
        throws PasswordMismatchException, UnknownEntityException,
               DataBackendException
    {
        User user = retrieve(userName);
        authenticate(user, password);
        return user;
    }


thrown from the TurbineSecurity at getUserManager().retrieve(username, password)
 public User getAuthenticatedUser(String username, String password)
            throws DataBackendException, UnknownEntityException,
                   PasswordMismatchException
    {
        return getUserManager().retrieve(username, password);
    }

thrown from TurbineSecurity at getService().getAuthenticatedUser(username, password)

 public static User getAuthenticatedUser(String username, String password)
            throws DataBackendException, UnknownEntityException,
            PasswordMismatchException
    {
        return getService().getAuthenticatedUser(username, password);
    }


I believe that I am having a problem with retrieve or retrieveList (neither of which thow an error) in TorqueUserManager

 public User retrieve(String userName)
        throws UnknownEntityException, DataBackendException
    {
        Criteria criteria = new Criteria();
        criteria.add(UserPeerManager.getNameColumn(), userName);

        List users = retrieveList(criteria);

        if (users.size() > 1)
        {
            throw new DataBackendException(
                "Multiple Users with same username '" + userName + "'");
        }
        if (users.size() == 1)
        {
            return (User) users.get(0);
        }
throw new UnknownEntityException("Unknown user '" + userName + "'");
    }

public List retrieveList(Object criteria)
        throws DataBackendException
    {
        if (criteria instanceof Criteria)
        {
            Criteria c = (Criteria)criteria;
            for (Iterator keys = c.keySet().iterator(); keys.hasNext(); )
            {
                String key = (String) keys.next();

                // set the table name for all attached criterion
                Criteria.Criterion[] criterion =
c.getCriterion(key).getAttachedCriterion();

                for (int i = 0; i < criterion.length; i++)
                {
                    if (StringUtils.isEmpty(criterion[i].getTable()))
                    {
criterion[i].setTable(UserPeerManager.getTableName());
                    }
                }
            }
            List users = null;
            try
            {
                users = UserPeerManager.doSelect(c);
            }
            catch (Exception e)
            {
throw new DataBackendException("Failed to retrieve users", e);
            }
            return users;
        }



If I execute the following code, which is based on these routines:

            List users = null;
            if(TurbineSecurity.accountExists("user"))
            {
log.trace("isAuthorized(PipelineData) TurbineSecurity.acccountExists=true");
                Criteria criteria = new Criteria();
criteria.add(UserPeerManager.getNameColumn(), "user");
                //criteria.addSelectColumn("*");
log.trace("isAuthorized(PipelineData) criteria.getDbName()="+criteria.getDbName()+", getTable="+criteria.getSelectColumns()); log.trace("isAuthorized(PipelineData) keyset="+criteria.keySet().toString());
                String query = BasePeer.createQueryString(criteria);
                log.trace("isAuthorized(PipelineData) query="+query);
for(Iterator keys = criteria.keySet().iterator();keys.hasNext();)
                {
                    String key = (String) keys.next();
log.trace("isAuthorized(PipelineData) key="+key+", Table="+UserPeerManager.getTableName()); Criteria.Criterion[] criterion = criteria.getCriterion(key).getAttachedCriterion(); log.trace("isAuthorized(PipelineData) criterion.length="+criterion.length);
                    for(int i=0; i < criterion.length; i++)
                    {
if(StringUtils.isEmpty(criterion[i].getTable()))
                        {
log.trace("isAuthorized(PipelineData) setting Table["+i+"]");
criterion[i].setTable(UserPeerManager.getTableName());
                        }
                    }
                    users = UserPeerManager.doSelect(criteria);
log.trace("isAuthorized(PipelineData) UserPeerManager.doSelect(Criteria) size="+users.size()); log.trace("isAuthorized(PipelineData) UserPeerManager.doSelect(Criteria) users.toString()="+users.toString()); for(Iterator userx = users.iterator(); userx.hasNext(); )
                    {
                        User usr = (User)userx.next();
                        if(usr != null)
                        {
log.trace("isAuthorized(PipelineData) usr.next()="+usr.toString());
log.trace("isAuthorized(PipelineData) usr="+usr.getId()+",N="+usr.getName()+", P="+usr.getPassword());
                        }
                        else
                        {
log.trace("isAuthorized(PipelineData) usr==null");
                        }
                    }
                }

I get the following tracelog:
isAuthorized(PipelineData) TurbineSecurity.acccountExists=true
isAuthorized(PipelineData) criteria.getDbName()=TurbineTest, getTable=[]
isAuthorized(PipelineData) keyset=[TURBINE_USER.LOGIN_NAME]
isAuthorized(PipelineData) query=SELECT FROM TURBINE_USER WHERE TURBINE_USER.LOGIN_NAME='user'
isAuthorized(PipelineData) key=TURBINE_USER.LOGIN_NAME, Table=TURBINE_USER
isAuthorized(PipelineData) criterion.length=1
isAuthorized(PipelineData) UserPeerManager.doSelect(Criteria) size=1
isAuthorized(PipelineData) UserPeerManager.doSelect(Criteria) users.toString()=[null]
isAuthorized(PipelineData) usr==null
isAuthorized(PipelineData) UserPeerManager.doSelect(critera) size=1
isAuthorized(PipelineData)  TurbineSecurity.getUser("user") returns null
isAuthorized ERROR=null
org.apache.turbine.services.security.torque.TorqueUserManager:accountExists(84)
org.apache.turbine.services.security.torque.TorqueUserManager:authenticate(349)
org.apache.turbine.services.security.torque.TorqueUserManager:retrieve(269)
org.apache.turbine.services.security.BaseSecurityService:getAuthenticatedUser(684)
org.apache.turbine.services.security.TurbineSecurity:getAuthenticatedUser(263)
com.in10Software.TurbineTest.modules.screens.TurbineTestSecureScreen:isAuthorized(122)


There is no SELECT column list in the generated statement

However, I have probably missed something because I get the following trace from SQL. | event_time | user_host | thread_id | server_id | command_type | argument | | 2013-04-07 11:34:47 | [Turbine] @ localhost [127.0.0.1] | 235 | 0 | Connect | Turbine@localhost on TurbineTest | 2013-04-07 11:34:47 | Turbine[Turbine] @ localhost [127.0.0.1] | 235 | 0 | Query | /* mysql-connector-java-5.1.21 ( Revision: ${bzr.revision-id} ) */SHOW VARIABLES WHERE Variabl e_name ='language' OR Variable_name = 'net_write_timeout' OR Variable_name = 'interactive_timeout' OR Variable_name = 'wait_timeout' OR Variable_name = 'character_set_client' OR Variable_name = 'chara cter_set_connection' OR Variable_name = 'character_set' OR Variable_name = 'character_set_server' OR Variable_name = 'tx_isolation' OR Variable_name = 'transaction_isolation' OR Variable_name = 'chara cter_set_results' OR Variable_name = 'timezone' OR Variable_name = 'time_zone' OR Variable_name = 'system_time_zone' OR Variable_name = 'lower_case_table_names' OR Variable_name = 'max_allowed_packet' OR Variable_name = 'net_buffer_length' OR Variable_name = 'sql_mode' OR Variable_name = 'query_cache_type' OR Variable_name = 'query_cache_size' OR Variable_name = 'init_connect' | | 2013-04-07 11:34:48 | Turbine[Turbine] @ localhost [127.0.0.1] | 235 | 0 | Query | /* mysql-connector-java-5.1.21 ( Revision: ${bzr.revision-id} ) */SELECT @@session.auto_increm
ent_increment
| 2013-04-07 11:34:48 | Turbine[Turbine] @ localhost [127.0.0.1] | 235 | 0 | Query | SHOW COLLATION | 2013-04-07 11:34:48 | Turbine[Turbine] @ localhost [127.0.0.1] | 235 | 0 | Query | SET NAMES latin1 | 2013-04-07 11:34:48 | Turbine[Turbine] @ localhost [127.0.0.1] | 235 | 0 | Query | SET character_set_results = NULL | 2013-04-07 11:34:48 | Turbine[Turbine] @ localhost [127.0.0.1] | 235 | 0 | Query | SET autocommit=1 | 2013-04-07 11:34:48 | Turbine[Turbine] @ localhost [127.0.0.1] | 235 | 0 | Quit | | 2013-04-07 11:34:48 | [Turbine] @ localhost [127.0.0.1] | 236 | 0 | Connect | Turbine@localhost on TurbineTest | 2013-04-07 11:34:48 | Turbine[Turbine] @ localhost [127.0.0.1] | 236 | 0 | Query | /* mysql-connector-java-5.1.21 ( Revision: ${bzr.revision-id} ) */SHOW VARIABLES WHERE Variabl e_name ='language' OR Variable_name = 'net_write_timeout' OR Variable_name = 'interactive_timeout' OR Variable_name = 'wait_timeout' OR Variable_name = 'character_set_client' OR Variable_name = 'chara cter_set_connection' OR Variable_name = 'character_set' OR Variable_name = 'character_set_server' OR Variable_name = 'tx_isolation' OR Variable_name = 'transaction_isolation' OR Variable_name = 'chara cter_set_results' OR Variable_name = 'timezone' OR Variable_name = 'time_zone' OR Variable_name = 'system_time_zone' OR Variable_name = 'lower_case_table_names' OR Variable_name = 'max_allowed_packet' OR Variable_name = 'net_buffer_length' OR Variable_name = 'sql_mode' OR Variable_name = 'query_cache_type' OR Variable_name = 'query_cache_size' OR Variable_name = 'init_connect' | | 2013-04-07 11:34:48 | Turbine[Turbine] @ localhost [127.0.0.1] | 236 | 0 | Query | /* mysql-connector-java-5.1.21 ( Revision: ${bzr.revision-id} ) */SELECT @@session.auto_increm
ent_increment
| 2013-04-07 11:34:48 | Turbine[Turbine] @ localhost [127.0.0.1] | 236 | 0 | Query | SHOW COLLATION | 2013-04-07 11:34:48 | Turbine[Turbine] @ localhost [127.0.0.1] | 236 | 0 | Query | SET NAMES latin1 | 2013-04-07 11:34:48 | Turbine[Turbine] @ localhost [127.0.0.1] | 236 | 0 | Query | SET character_set_results = NULL | 2013-04-07 11:34:48 | Turbine[Turbine] @ localhost [127.0.0.1] | 236 | 0 | Query | SET autocommit=1 | 2013-04-07 11:34:48 | Turbine[Turbine] @ localhost [127.0.0.1] | 236 | 0 | Query | SELECT 1 | 2013-04-07 11:34:48 | Turbine[Turbine] @ localhost [127.0.0.1] | 236 | 0 | Query | SET autocommit=1 | 2013-04-07 11:34:48 | Turbine[Turbine] @ localhost [127.0.0.1] | 236 | 0 | Query | SELECT 1 | 2013-04-07 11:34:48 | Turbine[Turbine] @ localhost [127.0.0.1] | 236 | 0 | Query | SET autocommit=1 | 2013-04-07 11:34:48 | Turbine[Turbine] @ localhost [127.0.0.1] | 236 | 0 | Query | SELECT TURBINE_USER.USER_ID, TURBINE_USER.LOGIN_NAME, TURBINE_USER.PASSWORD_VALUE, TURBINE_USE R.FIRST_NAME, TURBINE_USER.LAST_NAME, TURBINE_USER.EMAIL, TURBINE_USER.CONFIRM_VALUE, TURBINE_USER.MODIFIED, TURBINE_USER.CREATED, TURBINE_USER.LAST_LOGIN, TURBINE_USER.OBJECTDATA FROM TURBINE_USER WH
ERE TURBINE_USER.LOGIN_NAME='user'
| 2013-04-07 11:34:48 | Turbine[Turbine] @ localhost [127.0.0.1] | 236 | 0 | Query | SELECT 1 | 2013-04-07 11:34:48 | Turbine[Turbine] @ localhost [127.0.0.1] | 236 | 0 | Query | SET autocommit=1 | 2013-04-07 11:34:48 | Turbine[Turbine] @ localhost [127.0.0.1] | 236 | 0 | Query | SELECT TURBINE_USER.USER_ID, TURBINE_USER.LOGIN_NAME, TURBINE_USER.PASSWORD_VALUE, TURBINE_USE R.FIRST_NAME, TURBINE_USER.LAST_NAME, TURBINE_USER.EMAIL, TURBINE_USER.CONFIRM_VALUE, TURBINE_USER.MODIFIED, TURBINE_USER.CREATED, TURBINE_USER.LAST_LOGIN, TURBINE_USER.OBJECTDATA FROM TURBINE_USER WH
ERE TURBINE_USER.LOGIN_NAME='user'
| 2013-04-07 11:34:48 | Turbine[Turbine] @ localhost [127.0.0.1] | 236 | 0 | Query | SELECT 1 | 2013-04-07 11:34:48 | Turbine[Turbine] @ localhost [127.0.0.1] | 236 | 0 | Query | SET autocommit=1 | 2013-04-07 11:34:48 | Turbine[Turbine] @ localhost [127.0.0.1] | 236 | 0 | Query | SELECT TURBINE_USER.USER_ID, TURBINE_USER.LOGIN_NAME, TURBINE_USER.PASSWORD_VALUE, TURBINE_USE R.FIRST_NAME, TURBINE_USER.LAST_NAME, TURBINE_USER.EMAIL, TURBINE_USER.CONFIRM_VALUE, TURBINE_USER.MODIFIED, TURBINE_USER.CREATED, TURBINE_USER.LAST_LOGIN, TURBINE_USER.OBJECTDATA FROM TURBINE_USER WH
ERE TURBINE_USER.LOGIN_NAME='user'
| 2013-04-07 11:34:48 | Turbine[Turbine] @ localhost [127.0.0.1] | 236 | 0 | Query | SELECT 1 | 2013-04-07 11:34:48 | Turbine[Turbine] @ localhost [127.0.0.1] | 236 | 0 | Query | SET autocommit=1 | 2013-04-07 11:34:48 | Turbine[Turbine] @ localhost [127.0.0.1] | 236 | 0 | Query | SELECT TURBINE_USER.USER_ID, TURBINE_USER.LOGIN_NAME, TURBINE_USER.PASSWORD_VALUE, TURBINE_USE R.FIRST_NAME, TURBINE_USER.LAST_NAME, TURBINE_USER.EMAIL, TURBINE_USER.CONFIRM_VALUE, TURBINE_USER.MODIFIED, TURBINE_USER.CREATED, TURBINE_USER.LAST_LOGIN, TURBINE_USER.OBJECTDATA FROM TURBINE_USER WH
ERE TURBINE_USER.LOGIN_NAME='user'
| 2013-04-07 11:34:48 | Turbine[Turbine] @ localhost [127.0.0.1] | 236 | 0 | Query | SELECT 1 | 2013-04-07 11:34:48 | Turbine[Turbine] @ localhost [127.0.0.1] | 236 | 0 | Query | SET autocommit=1 | 2013-04-07 11:34:48 | Turbine[Turbine] @ localhost [127.0.0.1] | 236 | 0 | Query | SELECT Family.Family_ID, Family.Name FROM Family | 2013-04-07 11:34:48 | Turbine[Turbine] @ localhost [127.0.0.1] | 236 | 0 | Query | SELECT 1 | 2013-04-07 11:34:48 | Turbine[Turbine] @ localhost [127.0.0.1] | 236 | 0 | Query | SET autocommit=1 | 2013-04-07 11:34:48 | Turbine[Turbine] @ localhost [127.0.0.1] | 236 | 0 | Query | SELECT TURBINE_ROLE.ROLE_ID, TURBINE_ROLE.ROLE_NAME FROM TURBINE_PERMISSION, TURBINE_ROLE_PERM ISSION, TURBINE_ROLE WHERE TURBINE_PERMISSION.PERMISSION_ID=TURBINE_ROLE_PERMISSION.PERMISSION_ID AND TURBINE_ROLE_PERMISSION.ROLE_ID=TURBINE_ROLE.ROLE_ID | 2013-04-07 11:34:48 | Turbine[Turbine] @ localhost [127.0.0.1] | 236 | 0 | Query | SELECT 1 | 2013-04-07 11:34:48 | Turbine[Turbine] @ localhost [127.0.0.1] | 236 | 0 | Query | SET autocommit=1 | 2013-04-07 11:34:48 | Turbine[Turbine] @ localhost [127.0.0.1] | 236 | 0 | Query | SELECT TURBINE_USER.USER_ID, TURBINE_USER.LOGIN_NAME, TURBINE_USER.PASSWORD_VALUE, TURBINE_USE R.FIRST_NAME, TURBINE_USER.LAST_NAME, TURBINE_USER.EMAIL, TURBINE_USER.CONFIRM_VALUE, TURBINE_USER.MODIFIED, TURBINE_USER.CREATED, TURBINE_USER.LAST_LOGIN, TURBINE_USER.OBJECTDATA FROM TURBINE_USER WH
ERE TURBINE_USER.LOGIN_NAME='user'

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to