first commit symfony 6

This commit is contained in:
2022-07-25 17:16:08 +02:00
parent 2bba3d5695
commit 8181ca1c39
53 changed files with 754 additions and 116 deletions

View File

@ -36,6 +36,14 @@ class SecurityController extends AbstractController
$this->apiservice = $apiservice;
}
public function noperm(Request $request)
{
return $this->render('Home/noperm.html.twig',[
"useheader"=>true,
"usemenu"=>false,
]);
}
public function login(Request $request, AuthenticationUtils $authenticationUtils,ManagerRegistry $em)
{
switch($this->getParameter("appAuth")) {
@ -111,21 +119,24 @@ class SecurityController extends AbstractController
if(isset($attributes[$this->getParameter('casAvatar')]))
$avatar = $attributes[$this->getParameter('casAvatar')];
// Génération auto des niveau01s et des groupes en fonction des attributs sso
$this->submitSSONiveau01($attributes,$em);
$this->submitSSOGroup($attributes,$em);
// Rechercher l'utilisateur
$user = $em->getRepository('App\Entity\User')->findOneBy(array("username"=>$username));
if (!$user) {
if(!$this->getParameter("casAutosubmit")) return $this->redirect($this->generateUrl('app_noperm'));
$this->submitSSONiveau01($attributes,$em);
$this->submitSSOGroup($attributes,$em);
$niveau01=$em->getRepository('App\Entity\Niveau01')->calculateSSONiveau01($attributes);
$user=$this->submituser($username,$firstname,$lastname,$email,$password,$niveau01,$em);
$user=$em->getRepository('App\Entity\Group')->calculateSSOGroup($user,$attributes);
}
else
elseif($this->getParameter("casAutoupdate")) {
$this->submitSSONiveau01($attributes,$em);
$this->submitSSOGroup($attributes,$em);
$this->updateuser($user,$firstname,$lastname,$email,$avatar,$em);
// On calcule les groupes de l'utilisateur
$user=$em->getRepository('App\Entity\Group')->calculateSSOGroup($user,$attributes);
$user=$em->getRepository('App\Entity\Group')->calculateSSOGroup($user,$attributes);
}
// Autoconnexion
@ -154,7 +165,6 @@ class SecurityController extends AbstractController
$username=$request->get('login')["username"];
$password=$request->get('login')["password"];
$appMasteridentity=$this->getParameter("appMasteridentity");
// Récupération de la cible de navigation
$redirect = $request->getSession()->get("_security.main.target_path");
@ -186,10 +196,11 @@ class SecurityController extends AbstractController
$user = $em->getRepository('App\Entity\User')->findOneBy(array("username"=>$username));
if (!$user) {
if(!$this->getParameter("ldapAutosubmit")) return $this->redirect($this->generateUrl('app_noperm'));
$niveau01=$em->getRepository('App\Entity\Niveau01')->calculateLDAPNiveau01($username);
$user=$this->submituser($username,$firstname,$lastname,$email,$avatar,$niveau01,$em);
}
else {
elseif($this->getParameter("ldapAutoupdate")) {
$this->updateuser($user,$firstname,$lastname,$email,$avatar,$em);
}
@ -267,21 +278,22 @@ class SecurityController extends AbstractController
if(isset($attributes[$this->getParameter('oauthAvatar')]))
$avatar = $attributes[$this->getParameter('oauthAvatar')];
// Génération auto des niveau01s et des groupes en fonction des attributs sso
$this->submitSSONiveau01($attributes,$em);
$this->submitSSOGroup($attributes,$em);
// Rechercher l'utilisateur
$user = $em->getRepository('App\Entity\User')->findOneBy(array("username"=>$username));
if (!$user) {
if(!$this->getParameter("oauthAutosubmit")) return $this->redirect($this->generateUrl('app_noperm'));
$this->submitSSONiveau01($attributes,$em);
$this->submitSSOGroup($attributes,$em);
$niveau01=$em->getRepository('App\Entity\Niveau01')->calculateSSONiveau01($attributes);
$user=$this->submituser($username,$firstname,$lastname,$email,$avatar,$niveau01,$em);
}
else
elseif($this->getParameter("oauthAutoupdate")) {
$this->submitSSONiveau01($attributes,$em);
$this->submitSSOGroup($attributes,$em);
$this->updateuser($user,$firstname,$lastname,$email,$avatar,$em);
// On calcule les groupes de l'utilisateur
$user=$em->getRepository('App\Entity\Group')->calculateSSOGroup($user,$attributes);
$user=$em->getRepository('App\Entity\Group')->calculateSSOGroup($user,$attributes);
}
// Autoconnexion
return $this->autoconnexion($user,$redirect,$request);