redirection en fonction du login propre et affichage d'un dashboard en fonction du rôle de l'uitilisateur

This commit is contained in:
sermandm 2025-04-18 09:18:52 +02:00
commit dc0a7e915a
9 changed files with 70 additions and 24 deletions

View File

@ -3,6 +3,7 @@
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" packagePrefix="App\" />
<sourceFolder url="file://$MODULE_DIR$/tests" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/tests" isTestSource="true" packagePrefix="App\Tests\" />
<excludeFolder url="file://$MODULE_DIR$/vendor/composer" />
<excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/cache" />

4
.idea/dataSources.xml generated
View File

@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="DataSourceManagerImpl" format="xml" multifile-model="true">
<data-source source="LOCAL" name="HegreEtConfort@localhost" uuid="21423ae4-3232-4641-affb-06399f70655a">
<data-source source="LOCAL" name="HegreEtConfort@172.20.96.1" uuid="21423ae4-3232-4641-affb-06399f70655a">
<driver-ref>postgresql</driver-ref>
<synchronize>true</synchronize>
<jdbc-driver>org.postgresql.Driver</jdbc-driver>
<jdbc-url>jdbc:postgresql://localhost:5433/HegreEtConfort</jdbc-url>
<jdbc-url>jdbc:postgresql://172.20.96.1:5432/HegreEtConfort</jdbc-url>
<working-dir>$ProjectFileDir$</working-dir>
</data-source>
</component>

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,9 @@
/**
<<<<<<< HEAD
* Bundled by jsDelivr using Rollup v2.79.1 and Terser v5.19.2.
=======
* Bundled by jsDelivr using Rollup v2.79.2 and Terser v5.39.0.
>>>>>>> b29391d6550c182d7b75efab8795a238c1936a27
* Original file: /npm/@hotwired/turbo@7.3.0/dist/turbo.es2017-esm.js
*
* Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files

View File

@ -35,6 +35,7 @@
"symfony/property-info": "7.1.*",
"symfony/runtime": "7.1.*",
"symfony/security-bundle": "7.1.*",
"symfony/security-csrf": "7.1.*",
"symfony/serializer": "7.1.*",
"symfony/stimulus-bundle": "^2.20",
"symfony/string": "7.1.*",

38
composer.lock generated
View File

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "e99a99b4ca2d6b58821cb711cb543c93",
"content-hash": "69565ad2398a468ae94c92c449ee3c20",
"packages": [
{
"name": "composer/semver",
@ -3466,16 +3466,16 @@
},
{
"name": "symfony/form",
"version": "v7.1.5",
"version": "v7.1.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/form.git",
"reference": "6b8b53ad6d42f14b158c896163b96ff260d78222"
"reference": "7a48dda96fe16711fc042df38ca1a7dd4d9d6387"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/form/zipball/6b8b53ad6d42f14b158c896163b96ff260d78222",
"reference": "6b8b53ad6d42f14b158c896163b96ff260d78222",
"url": "https://api.github.com/repos/symfony/form/zipball/7a48dda96fe16711fc042df38ca1a7dd4d9d6387",
"reference": "7a48dda96fe16711fc042df38ca1a7dd4d9d6387",
"shasum": ""
},
"require": {
@ -3543,7 +3543,7 @@
"description": "Allows to easily create, process and reuse HTML forms",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/form/tree/v7.1.5"
"source": "https://github.com/symfony/form/tree/v7.1.6"
},
"funding": [
{
@ -3559,7 +3559,7 @@
"type": "tidelift"
}
],
"time": "2024-09-20T08:28:38+00:00"
"time": "2024-10-09T08:46:59+00:00"
},
{
"name": "symfony/framework-bundle",
@ -5648,16 +5648,16 @@
},
{
"name": "symfony/security-bundle",
"version": "v7.1.4",
"version": "v7.1.11",
"source": {
"type": "git",
"url": "https://github.com/symfony/security-bundle.git",
"reference": "5e10107856ff64d477c61fed7bcbb8a16125ea01"
"reference": "4012dbc0884fc7cbf555615a5aaa16f7c0d3f222"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/security-bundle/zipball/5e10107856ff64d477c61fed7bcbb8a16125ea01",
"reference": "5e10107856ff64d477c61fed7bcbb8a16125ea01",
"url": "https://api.github.com/repos/symfony/security-bundle/zipball/4012dbc0884fc7cbf555615a5aaa16f7c0d3f222",
"reference": "4012dbc0884fc7cbf555615a5aaa16f7c0d3f222",
"shasum": ""
},
"require": {
@ -5734,7 +5734,7 @@
"description": "Provides a tight integration of the Security component into the Symfony full-stack framework",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/security-bundle/tree/v7.1.4"
"source": "https://github.com/symfony/security-bundle/tree/v7.1.11"
},
"funding": [
{
@ -5750,7 +5750,7 @@
"type": "tidelift"
}
],
"time": "2024-08-20T11:38:55+00:00"
"time": "2024-12-31T17:57:35+00:00"
},
{
"name": "symfony/security-core",
@ -5840,16 +5840,16 @@
},
{
"name": "symfony/security-csrf",
"version": "v7.1.1",
"version": "v7.1.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/security-csrf.git",
"reference": "27cd1bce9d7f3457a152a6ca9790712d6954dd21"
"reference": "23b460d3447fd61970e0ed5ec7a0301296a17f06"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/security-csrf/zipball/27cd1bce9d7f3457a152a6ca9790712d6954dd21",
"reference": "27cd1bce9d7f3457a152a6ca9790712d6954dd21",
"url": "https://api.github.com/repos/symfony/security-csrf/zipball/23b460d3447fd61970e0ed5ec7a0301296a17f06",
"reference": "23b460d3447fd61970e0ed5ec7a0301296a17f06",
"shasum": ""
},
"require": {
@ -5888,7 +5888,7 @@
"description": "Symfony Security Component - CSRF Library",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/security-csrf/tree/v7.1.1"
"source": "https://github.com/symfony/security-csrf/tree/v7.1.6"
},
"funding": [
{
@ -5904,7 +5904,7 @@
"type": "tidelift"
}
],
"time": "2024-05-31T14:57:53+00:00"
"time": "2024-09-25T14:20:29+00:00"
},
{
"name": "symfony/security-http",

View File

@ -1,4 +1,5 @@
security:
<<<<<<< HEAD
# https://symfony.com/doc/current/security.html#registering-the-user-hashing-passwords
password_hashers:
Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface: 'auto'
@ -25,6 +26,37 @@ security:
# activate different ways to authenticate
# https://symfony.com/doc/current/security.html#the-firewall
=======
# https://symfony.com/doc/current/security.html#registering-the-user-hashing-passwords
password_hashers:
Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface: 'auto'
# https://symfony.com/doc/current/security.html#loading-the-user-the-user-provider
providers:
# used to reload user from session & other features (e.g. switch_user)
app_user_provider:
entity:
class: App\Entity\Utilisateur
property: email
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
main:
lazy: true
provider: app_user_provider
form_login:
login_path: app_login
check_path: app_login
enable_csrf: true
csrf_token_id: authenticate
logout:
path: app_logout
target: app_login
>>>>>>> b29391d6550c182d7b75efab8795a238c1936a27
# https://symfony.com/doc/current/security/impersonating_user.html
# switch_user: true

View File

@ -10,7 +10,7 @@ use Doctrine\Migrations\AbstractMigration;
/**
* Auto-generated Migration: Please modify to your needs!
*/
final class Version20250410124208 extends AbstractMigration
final class Version20250410150126 extends AbstractMigration
{
public function getDescription(): string
{

View File

@ -9,7 +9,7 @@ use Symfony\Component\Security\Http\Authentication\AuthenticationUtils;
class AuthenticationController extends AbstractController
{
#[Route(path: '/', name: '_login')]
#[Route(path: '/', name: 'app_login')]
public function login(AuthenticationUtils $authenticationUtils): Response
{
// get the login error if there is one
@ -24,7 +24,7 @@ class AuthenticationController extends AbstractController
]);
}
#[Route(path: '/logout', name: '_logout')]
#[Route(path: '/logout', name: 'app_logout')]
public function logout(): void
{
throw new \LogicException('This method can be blank - it will be intercepted by the logout key on your firewall.');