codeplace-io / phpcas-guard-bundle
PhpCAS Bundle using guard for Symfony3.4 and above
Installs: 60
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 3
Type:symfony-bundle
Requires
- php: >=7.1.3
- jasig/phpcas: ~1.3
- symfony/config: ~3.4|4.*|~5.0
- symfony/dependency-injection: ~3.4|4.*|~5.0
- symfony/routing: ~3.4|4.*|~5.0
- symfony/security-guard: ~3.4|4.*|~5.0
- symfony/yaml: ~3.4|4.*|~5.0
Requires (Dev)
- codeception/aspect-mock: *
- phpunit/phpunit: ~7.5
- symfony/debug: ~3.4|4.*|~5.0
- symfony/phpunit-bridge: ~3.4|4.*|~5.0
README
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.
Installation
Step 1: Download the Bundle
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.
Step 2: Enable the Bundle
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], ];
Step 3: Enable the Security
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.
Step 4: Configure the 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.