From: David H. <dh...@ru...> - 2015-08-25 19:55:04
|
Brandon, Thanks for chiming in. I used this 'cat_password' => urlencode($password) and then my netid/password failed in the same way. The difference I saw was that in the Error Detail My failed attempt showed my password (with an @ changed to %40) #3 /usr/local/vufind2/module/VuFind/src/VuFind/ILS/Driver/Symphony.php(224): VuFind\ILS\Driver\Symphony->getSessionToken('xxoxvxx', 'mypas%40sword', false) While the previous persons failure showed: #3 /usr/local/vufind2/module/VuFind/src/VuFind/ILS/Driver/Symphony.php(224): VuFind\ILS\Driver\Symphony->getSessionToken('xmaxx', false, false) which has false where the password value should be. I will contact the other user tomorrow with the change in place to see if it helps them (although it made mine fail) I am also wondering if the problem lies with customization of the Login form itself, that may be unable to parse the password and even send it on to web services. Dave Dave ----- Original Message ----- From: "Brandon W Uhlman" <Bra...@no...> To: "David Hoover" <dh...@ru...>, "Demian Katz" <dem...@vi...> Cc: vuf...@li... Sent: Tuesday, August 25, 2015 2:01:29 PM Subject: RE: Login issues Vufind using ILS with Symphony Hi, David. I am (apparently!) one of those Symphony driver developers that Demian mentioned, though my contributions have been pretty modest. Additional caveat: we are not an LDAP site. The fact that only a few users are affected (that is, most can apparently login to VuFind with netids and passwords) makes me think the issue might be something to do with those accounts specifically. On page 85 of the manual for Web Services 4.0, the version I'm using, there's a note that points me at a possible cause. It reads: "Special or reserved characters need to be URL encoded when using REST. These kind of characters are especially common in user passwords (such as in an LDAP environment). For example, if a user may use special or reserved characters in a password, such as "h%llo", you would send something like the following login request for a user named JoeB: http://libraryapps.example.org/symws/rest/security/loginUser?clientID=SymWSTestClient& login=JoeB&password=h%25llo" I'm not sure if the Zend SOAP driver automatically encodes values before sending them off, but as a first-attempt at a lazy-man's solution, in patronLogin() in the Symphony driver, when setting $patron['cat_password'], you could wrap the value in a urlencode(). So, the code that currently reads $patron = array( 'cat_username' => $username, 'cat_password' => $password ); would become $patron = array( 'cat_username' => $username, 'cat_password' => urlencode($password) ); Give that a try, and see if it helps! ~B -----Original Message----- From: David Hoover [mailto:dh...@ru...] Sent: Tuesday, August 25, 2015 1:26 PM To: Demian Katz <dem...@vi...> Cc: vuf...@li... Subject: Re: [VuFind-General] Login issues Vufind using ILS with Symphony Demien, I tried to swap in the new Symphony.php file on a test copy of VuFin we have, but I get a fatal PHP error and I get an empty white screen. [25-Aug-2015 12:17:16 America/New_York] PHP Fatal error: Trait 'VuFind\Log\LoggerAwareTrait' not found in /usr/local/vufind2/module/VuFind/src/VuFind/ILS/Driver/Symphony.php on line 48 So it looks like i need something in addition to the Symphony.php file to be able to use it for testing. Any ideas? If it makes a difference this the Sun version of java we use jdk1.7.0_79 Dave ----- Original Message ----- From: "Demian Katz" <dem...@vi...> To: "David Hoover" <dh...@ru...>, vuf...@li... Sent: Tuesday, August 25, 2015 9:54:47 AM Subject: RE: Login issues Vufind using ILS with Symphony David, I'm not especially familiar with the Symphony driver (or the SOAP protocol in general), so I have passed your email along to a couple of the Symphony driver developers in case either of them can share any advice. In the meantime, it might be interesting to try this again using the latest version of the Symphony driver: https://github.com/vufind-org/vufind/blob/master/module/VuFind/src/VuFind/ILS/Driver/Symphony.php This has changed a little bit since release 2.3, but I believe that it should still be compatible. I'd be interested to hear if it changes anything! In any case, even if you get the same error, sending the updated exception message will allow me to offer more troubleshooting suggestions based on the latest version of the code (which is a little easier for me than digging out the 2.3 version... though I can also do that if it proves necessary). - Demian -----Original Message----- From: David Hoover [mailto:dh...@ru...] Sent: Monday, August 24, 2015 10:22 PM To: vuf...@li... Subject: [VuFind-General] Login issues Vufind using ILS with Symphony We are running VuFind 2.3 with the ILS Driver for Symphony. We have configured authentication as follows [Authentication] method = ILS we have this commented out ;ILS_username_field = cat_username Our Symphony system is setup for LDAP authentication and those without an LDAP record can use the Symphony barcode/PIN. We have had reports from three users who when they try to login with their netid and password they get put on the basic search page with (a customized version of the): "An error has occurred" page from templates/error/index.html Adding to the confusion is the fact that they can login from the Vufind Login page with their barcode/PIN as well as being able to login to the Symphony catalog with both their netid/password and their barcode/PIN. So far we have only had the three reports and others have no problem logging into VuFind using their netid/password. I am working directly with one of them and I went into the mysql vufind user table and cleared out the cat_username and cat_enc_pass fields and had him log in again with debug on the the vufind apache conf and here gave this backtrace: Any ides of what may be wrong or where we should look? Exception: Message: com/sun/xml/messaging/saaj/soap/ver1_1/Fault1_1Impl Backtrace: #0 /usr/local/vufind2/module/VuFind/src/VuFind/ILS/Driver/Symphony.php(345): SoapClient->__call('loginUser', Array) #1 /usr/local/vufind2/module/VuFind/src/VuFind/ILS/Driver/Symphony.php(345): SoapClient->loginUser(Array) #2 /usr/local/vufind2/module/VuFind/src/VuFind/ILS/Driver/Symphony.php(269): VuFind\ILS\Driver\Symphony->makeRequest('security', 'loginUser', Array) #3 /usr/local/vufind2/module/VuFind/src/VuFind/ILS/Driver/Symphony.php(224): VuFind\ILS\Driver\Symphony->getSessionToken('xmaxx', false, false) #4 /usr/local/vufind2/module/VuFind/src/VuFind/ILS/Driver/Symphony.php(343): VuFind\ILS\Driver\Symphony->getSoapHeader('xmaxx', false) #5 /usr/local/vufind2/module/VuFind/src/VuFind/ILS/Driver/Symphony.php(1101): VuFind\ILS\Driver\Symphony->makeRequest('patron', 'lookupMyAccount...', Array, Array) #6 [internal function]: VuFind\ILS\Driver\Symphony->patronLogin('xmaxx', false) #7 /usr/local/vufind2/module/VuFind/src/VuFind/ILS/Connection.php(704): call_user_func_array(Array, Array) #8 /usr/local/vufind2/module/VuFind/src/VuFind/Auth/Manager.php(512): VuFind\ILS\Connection->__call('patronLogin', Array) #9 /usr/local/vufind2/module/VuFind/src/VuFind/Auth/Manager.php(512): VuFind\ILS\Connection->patronLogin('xmaxx', false) #10 /usr/local/vufind2/module/VuFind/src/VuFind/Controller/AbstractBase.php(324): VuFind\Auth\Manager->storedCatalogLogin() #11 /usr/local/vufind2/module/VuFind/src/VuFind/Controller/MyResearchController.php(1003): VuFind\Controller\AbstractBase->catalogLogin() #12 /usr/local/vufind2/vendor/zendframework/zendframework/library/Zend/Mvc/Controller/AbstractActionController.php(83): VuFind\Controller\MyResearchController->checkedoutAction() #13 [internal function]: Zend\Mvc\Controller\AbstractActionController->onDispatch(Object(Zend\Mvc\MvcEvent)) #14 /usr/local/vufind2/vendor/zendframework/zendframework/library/Zend/EventManager/EventManager.php(468): call_user_func(Array, Object(Zend\Mvc\MvcEvent)) #15 /usr/local/vufind2/vendor/zendframework/zendframework/library/Zend/EventManager/EventManager.php(207): Zend\EventManager\EventManager->triggerListeners('dispatch', Object(Zend\Mvc\MvcEvent), Object(Closure)) #16 /usr/local/vufind2/vendor/zendframework/zendframework/library/Zend/Mvc/Controller/AbstractController.php(117): Zend\EventManager\EventManager->trigger('dispatch', Object(Zend\Mvc\MvcEvent), Object(Closure)) #17 /usr/local/vufind2/vendor/zendframework/zendframework/library/Zend/Mvc/DispatchListener.php(114): Zend\Mvc\Controller\AbstractController->dispatch(Object(Zend\Http\PhpEnvironment\Request), Object(Zend\Http\PhpEnvironment\Response)) #18 [internal function]: Zend\Mvc\DispatchListener->onDispatch(Object(Zend\Mvc\MvcEvent)) #19 /usr/local/vufind2/vendor/zendframework/zendframework/library/Zend/EventManager/EventManager.php(468): call_user_func(Array, Object(Zend\Mvc\MvcEvent)) #20 /usr/local/vufind2/vendor/zendframework/zendframework/library/Zend/EventManager/EventManager.php(207): Zend\EventManager\EventManager->triggerListeners('dispatch', Object(Zend\Mvc\MvcEvent), Object(Closure)) #21 /usr/local/vufind2/vendor/zendframework/zendframework/library/Zend/Mvc/Application.php(309): Zend\EventManager\EventManager->trigger('dispatch', Object(Zend\Mvc\MvcEvent), Object(Closure)) #22 /usr/local/vufind2/public/index.php(61): Zend\Mvc\Application->run() #23 {main} ------------------------------------------------------------------------------ _______________________________________________ VuFind-General mailing list VuF...@li... https://lists.sourceforge.net/lists/listinfo/vufind-general ------------------------------------------------------------------------------ _______________________________________________ VuFind-General mailing list VuF...@li... https://lists.sourceforge.net/lists/listinfo/vufind-general |