PhpCas Bundle provide CAS Authentication using guard for symfony 3.4+ and 4.
This bundle DO NOT provide a CAS server. By using this bundle, your application will be able to use your Cas Server
to authenticate your users.
Open a command console, enter your project directory and execute the following command to download the latest stable version of this bundle:
$ composer require "alexandret/phpcas-guard-bundle" "~1"
This command requires you to have Composer installed globally, as explained in the installation chapter of the Composer documentation.
Enable the bundle by adding it to the list of registered bundles
in the config/bundles.php
file of your project:
<?php
return [
//...
AlexandreT\Bundle\CasGuardBundle\CasGuardBundle::class => ['all' => true],
];
Update your config\packages\security.yaml
file:
#http://symfony.com/doc/current/reference/configuration/security.html#full-default-configuration
security:
# ...
firewalls:
#Main firewall
main:
# We use Guard !
guard:
authenticators:
# ADD the cas authenticator declared in this bundle
- phpcasguard.cas_authenticator
# The logout path
logout:
# This route will be never called because of listener. It will catch it and redirect user.
path: /logout
# ADD the same cas authenticator declared in this bundle to activate logout function
success_handler: phpcasguard.cas_authenticator
# ...
Since Symfony 2.8, Guard is providing a new and excellent way to authenticate. I recommend you to have a look
on this excellent tutorial to understand guard features.
This tutorial explains how to generate a standard authentication using guard and a login form. When you
understand it, you only have to disable the call to the login form authenticator implemented in
the chapter 5 and replace it by
the phpcasguard.cas_authenticator
declared inside this bundle.
Create a config\packages\cas_guard.yaml
file:
cas_guard:
hostname: '%env(CAS_HOSTNAME)%'
# ...
Have a look on the complete configuration file to complete and connect it with your CAS server.