XavRsl / Cas

CAS server SSO authentication in Laravel 4.x & 5.x
MIT License
77 stars 36 forks source link

Exception Class CAS_raTypeMismatchException could not be loaded #35

Closed jesusvpct closed 8 years ago

jesusvpct commented 8 years ago

I'm trying to get work with CAS but i have this error when calling to Cas::authenticate() function: exception 'Exception' with message 'Class CAS_raTypeMismatchException could not be loaded from C:\xampp\htdocs\ruac\vendor\jasig\phpcas\source/../test//CAS/raTypeMismatchException.php, file does not exist (Path="C:\xampp\htdocs\ruac\vendor\jasig\phpcas\source:C:\xampp\htdocs\ruac\vendor\jasig\phpcas\source/../test/") [CAS_autoload]' in C:\xampp\htdocs\ruac\vendor\jasig\phpcas\source\CAS\Autoload.php:57 Stack trace: #0 [internal function]: CAS_autoload('CAS_raTypeMisma...') #1 C:\xampp\htdocs\ruac\vendor\jasig\phpcas\source\CAS\Client.php(892): spl_autoload_call('CAS_raTypeMisma...') #2 C:\xampp\htdocs\ruac\vendor\jasig\phpcas\source\CAS.php(340): CAS_Client->__construct('2.0', false, 'autentica-des.u...', '443', '/cas', true) #3 C:\xampp\htdocs\ruac\vendor\xavrsl\cas\src\Xavrsl\Cas\Sso.php(76): phpCAS::client('2.0', 'autentica-des.u...', '443', '/cas') #4 C:\xampp\htdocs\ruac\vendor\xavrsl\cas\src\Xavrsl\Cas\Sso.php(40): Xavrsl\Cas\Sso->configureCasClient() #5 C:\xampp\htdocs\ruac\vendor\xavrsl\cas\src\Xavrsl\Cas\Sso.php(26): Xavrsl\Cas\Sso->initializeCas() #6 C:\xampp\htdocs\ruac\vendor\xavrsl\cas\src\Xavrsl\Cas\CasManager.php(48): Xavrsl\Cas\Sso->__construct(Array) #7 C:\xampp\htdocs\ruac\vendor\xavrsl\cas\src\Xavrsl\Cas\CasManager.php(35): Xavrsl\Cas\CasManager->createConnection() #8 C:\xampp\htdocs\ruac\vendor\xavrsl\cas\src\Xavrsl\Cas\CasManager.php(62): Xavrsl\Cas\CasManager->connection() #9 C:\xampp\htdocs\ruac\vendor\laravel\framework\src\Illuminate\Support\Facades\Facade.php(213): Xavrsl\Cas\CasManager->__call('authenticate', Array) #10 C:\xampp\htdocs\ruac\vendor\laravel\framework\src\Illuminate\Support\Facades\Facade.php(213): Xavrsl\Cas\CasManager->authenticate() #11 C:\xampp\htdocs\ruac\app\Http\routes.php(16): Illuminate\Support\Facades\Facade::__callStatic('authenticate', Array) #12 C:\xampp\htdocs\ruac\app\Http\routes.php(16): Xavrsl\Cas\Facades\Cas::authenticate() #13 [internal function]: App\Providers\RouteServiceProvider->{closure}() #14 C:\xampp\htdocs\ruac\vendor\laravel\framework\src\Illuminate\Routing\Route.php(155): call_user_func_array(Object(Closure), Array) #15 C:\xampp\htdocs\ruac\vendor\laravel\framework\src\Illuminate\Routing\Route.php(130): Illuminate\Routing\Route->runCallable(Object(Illuminate\Http\Request)) #16 C:\xampp\htdocs\ruac\vendor\laravel\framework\src\Illuminate\Routing\Router.php(708): Illuminate\Routing\Route->run(Object(Illuminate\Http\Request)) #17 [internal function]: Illuminate\Routing\Router->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request)) #18 C:\xampp\htdocs\ruac\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(139): call_user_func(Object(Closure), Object(Illuminate\Http\Request)) #19 [internal function]: Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request)) #20 C:\xampp\htdocs\ruac\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(103): call_user_func(Object(Closure), Object(Illuminate\Http\Request)) #21 C:\xampp\htdocs\ruac\vendor\laravel\framework\src\Illuminate\Routing\Router.php(710): Illuminate\Pipeline\Pipeline->then(Object(Closure)) #22 C:\xampp\htdocs\ruac\vendor\laravel\framework\src\Illuminate\Routing\Router.php(675): Illuminate\Routing\Router->runRouteWithinStack(Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request)) #23 C:\xampp\htdocs\ruac\vendor\laravel\framework\src\Illuminate\Routing\Router.php(635): Illuminate\Routing\Router->dispatchToRoute(Object(Illuminate\Http\Request)) #24 C:\xampp\htdocs\ruac\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php(236): Illuminate\Routing\Router->dispatch(Object(Illuminate\Http\Request)) #25 [internal function]: Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}(Object(Illuminate\Http\Request)) #26 C:\xampp\htdocs\ruac\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(139): call_user_func(Object(Closure), Object(Illuminate\Http\Request)) #27 C:\xampp\htdocs\ruac\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\VerifyCsrfToken.php(50): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request)) #28 [internal function]: Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle(Object(Illuminate\Http\Request), Object(Closure)) #29 C:\xampp\htdocs\ruac\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(124): call_user_func_array(Array, Array) #30 C:\xampp\htdocs\ruac\vendor\laravel\framework\src\Illuminate\View\Middleware\ShareErrorsFromSession.php(49): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request)) #31 [internal function]: Illuminate\View\Middleware\ShareErrorsFromSession->handle(Object(Illuminate\Http\Request), Object(Closure)) #32 C:\xampp\htdocs\ruac\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(124): call_user_func_array(Array, Array) #33 C:\xampp\htdocs\ruac\vendor\laravel\framework\src\Illuminate\Session\Middleware\StartSession.php(62): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request)) #34 [internal function]: Illuminate\Session\Middleware\StartSession->handle(Object(Illuminate\Http\Request), Object(Closure)) #35 C:\xampp\htdocs\ruac\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(124): call_user_func_array(Array, Array) #36 C:\xampp\htdocs\ruac\vendor\laravel\framework\src\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse.php(37): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request)) #37 [internal function]: Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle(Object(Illuminate\Http\Request), Object(Closure)) #38 C:\xampp\htdocs\ruac\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(124): call_user_func_array(Array, Array) #39 C:\xampp\htdocs\ruac\vendor\laravel\framework\src\Illuminate\Cookie\Middleware\EncryptCookies.php(59): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request)) #40 [internal function]: Illuminate\Cookie\Middleware\EncryptCookies->handle(Object(Illuminate\Http\Request), Object(Closure)) #41 C:\xampp\htdocs\ruac\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(124): call_user_func_array(Array, Array) #42 C:\xampp\htdocs\ruac\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode.php(44): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request)) #43 [internal function]: Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle(Object(Illuminate\Http\Request), Object(Closure)) #44 C:\xampp\htdocs\ruac\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(124): call_user_func_array(Array, Array) #45 [internal function]: Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request)) #46 C:\xampp\htdocs\ruac\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(103): call_user_func(Object(Closure), Object(Illuminate\Http\Request)) #47 C:\xampp\htdocs\ruac\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php(122): Illuminate\Pipeline\Pipeline->then(Object(Closure)) #48 C:\xampp\htdocs\ruac\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php(87): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request)) #49 C:\xampp\htdocs\ruac\public\index.php(54): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request)) #50 {main}

XavRsl commented 8 years ago

Looks like your problem is related to this one : https://github.com/Jasig/phpCAS/issues/170 Doesn't seem to have anything to do with this package, I guess you should update your CAS installation.

Tell me if it helps.

Xavier

jesusvpct commented 8 years ago

I've removed all (phpCAS and xavrsl/cas packages), installed again, and now I have this other error: phpCAS error: phpCAS::client(): CAS_TypeMismatchException: type mismatched for parameter $server_port (should be 'integer '), string given. in C:\xampp\htdocs\ruac\vendor\xavrsl\cas\src\Xavrsl\Cas\Sso.php on line 78

XavRsl commented 8 years ago

Is your port different than 443 ? I could force port parameter to be an integer, but tell me where do you set your port ? In .env ? In cas.php config file ?

Xavier

jesusvpct commented 8 years ago

I was using .env file with this configuration:

CAS_DEBUG=true CAS_HOSTNAME=autentica-des.upct.es CAS_PORT=443 CAS_URI=/cas CAS_SAML=false

XavRsl commented 8 years ago

You don't need to set the port in that case. CAS_SAML is also defaulting to false, so don't set it. But, you're right, I must update the package to make sure that the port, if given, is treated as an integer and not a string. Tell me if you still have the problem.

Xavier

jesusvpct commented 8 years ago

Now works fine! Thanks!