|
Started by YWE, Feb., 07 2018 9:40 PM - 15 replies |
| |
| | | |
|
| |
Registered member 47 messages Popularité : +1 (1 vote) |
|
Posted on February, 07 2018 - 9:40 PM |
Bonjour, j'ai developpé un site en webdev 23 en mode classique. Le client impose de faire du SSO avec le protocole SAML 2.0. N'ayant pas trouvé de solution dans les forums, je me suis orienté vers des solutions qui existent déjà mais dans d'autres technos. J'ai donc choisi un module d'authentification en java/jsp/spring. Ce module sera deployé dans un serveur Tomcat(moteur de servlet) et accessible via hhtp://serveurJEE/module_Auth Mon appli webdev lui sera accessible : http://serveurIIS/AppliWeb Le mode opératoire que je souhaite est le suivant : 1- l'internaute accède au site webdev 2- le site webdev le redirige vers le module d'authentification ou il saisira ses identifiants/Mot de passe 3- le module d'authentification redirige vers le module webdev avec les infos nécessaire
Mes questions : - Est ce que cette solution est bonne ? - Quelle fonction coté webdev utiliseriez vous pour faire la redirection et surtout pour recuperer les infos provenants de la jsp Pour info, j'utilise pour la redirection : ScriptAffiche("hhtp://serveurJEE/module_Auth") Merci pour vos retours.
-- Bon dev ! |
| |
| |
| | | |
|
| | |
| |
Registered member 47 messages Popularité : +1 (1 vote) |
|
Posted on February, 22 2018 - 4:27 PM |
Bonjour, quelqu'un peut m'aider svp ?
-- Bon dev ! |
| |
| |
| | | |
|
| | |
| |
Posted on February, 26 2018 - 3:44 PM |
| |
| |
| | | |
|
| | |
| |
Posted on February, 28 2018 - 2:25 PM |
Bonjour,
Le module m'intéresse grandement si vous avez un lien pour le télécharger.
Cordialement, |
| |
| |
| | | |
|
| | |
| |
Registered member 47 messages Popularité : +1 (1 vote) |
|
Posted on March, 01 2018 - 12:02 AM |
E. Payan a écrit :
Bonjour, merci pour votre réponse. La solution ou la démarche m'intéresse vivement. Pouvez vous si possible nous donnez quelques éléments ?
-- Bon dev ! |
| |
| |
| | | |
|
| | |
| |
Registered member 11 messages Popularité : +1 (1 vote) |
|
Posted on March, 01 2018 - 5:15 PM |
Le code réside en une procédure global.
Son appel : - redirige le visiteur vers l'authentification si besoin - renvoi le login du visiteur Ex (par exemple dans le code d'initialisation du projet): gsLogin est une chaine gsLogin=GetLoginCAS()
Attentions, en cas de paramètre dans l'URL, seul le 1er paramètre est conservé, les autres sont perdus. Une seul chose à configurer : l'URL du serveur CAS (gsCas_Server)
Testé et largement utilisé en Webdev 21.
Voici la procédure :
// Résumé : <indiquez ici ce que fait la procédure> // Lorsque un visiteur tente d'accéder à une page / zone intranet, au lieu de lui demander ces identifiants, on le redirige vers le CAS. // L'utilisateur s'identifie sur le CAS, le CAS le ramène sur le service avec un Service Ticket (ST). Puis le service valide ce ST auprès du CAS qui va alors retourner le login de l'utilisateur. //- étape 1 : obtention du Service Ticket (ST) //- étape 2 : Vérification du Service Ticket Indiquez ici un exemple d'utilisation.
// Auteur : // L. Faurtier
// Syntaxe : //[ <Résultat> = ] GetLoginCAS ()
// Paramètres : // Aucun // Valeur de retour : // chaîne ANSI :
PROCEDURE GetLoginCAS()
//Variables générales gsUrlCas est une chaîne = "" gsUrlService est une chaîne gsResultat est une chaîne sGsLoginCASWebDev est une chaîne gsCas_Server est une chaîne gsTicket est une chaîne gsListeQuery est une chaîne gsMyLogon est une chaîne gsSSL est une chaîne gsMonServeur est une chaîne GsPathInfo est une chaîne
//SERVEUR CAS LYON 1 gsCas_Server = "https://cas.votredomaine.fr/cas/"
//DEBUT RECUPERATION DES VARIABLES D'ENVIRONNEMENT
//Paramètres présents dans l'URL gsListeQuery = SysEnvironnement("QUERY_STRING") gsListeQuery = Remplace(gsListeQuery,"QUERY_STRING=","")
//Isolement puis récupération du Ticket CAS présent dans l'URL SI gsListeQuery <> "" ET PositionOccurrence(gsListeQuery,"ticket=",1)>0 ALORS gnDebutPositionTicket est un entier gnDebutPositionTicket = PositionOccurrence(gsListeQuery,"ticket=",1) + 7 gnLongueurgsListeQuery est un entier gnLongueurgsListeQuery = Taille(Milieu(gsListeQuery,gnDebutPositionTicket)) gsTicket = Droite(gsListeQuery,gnLongueurgsListeQuery) FIN //Nom du script courant gsMyLogon = SysEnvironnement("SCRIPT_NAME") gsMyLogon = Remplace(gsMyLogon,"SCRIPT_NAME=","")
//Récupération Protocole https gsSSL = SysEnvironnement("HTTPS") gsSSL = Remplace(gsSSL,"HTTPS=","")
//Récupération de l'hote courant SI gsSSL = "on" ALORS gsMonServeur = "https://"+SysEnvironnement("HTTP_HOST") SINON gsMonServeur = "http://"+SysEnvironnement("HTTP_HOST") FIN
//gsMonServeur = "https://"+SysEnvironnement("HTTP_HOST") gsMonServeur = Remplace(gsMonServeur,"HTTP_HOST=","")
//Chemin utilisé pour accéder au script GsPathInfo = SysEnvironnement("PATH_INFO") SI GsPathInfo <> "" AND gsMonServeur<>"http://localhost" ALORS GsPathInfo = Remplace(GsPathInfo,"PATH_INFO=","") gsMyLogon = gsMyLogon + GsPathInfo FIN
//FIN RECUPERATION DES VARIABLES D'ENVIRONNEMENT
//Fabrication de la partie d'URL CAS utilisé après "service=" = ******** //https://cas.mondomain.fr/cas/login…=******** gsUrlService = gsMonServeur + gsMyLogon + "?" + gsListeQuery
//DEBUT TRAITEMENT
//TEST DE L'EXISTANCE D'UN LOGIN CAS SI sGsLoginCASWebDev = "" ALORS //TEST DE L'EXISTANCE D'UN TICKET CAS SI gsTicket = "" ALORS //FABRICATION DE LA PORTION D'URL POUR PERMETTRE L'AUTHENTIFICATION SUR CAS (login?****) SI SansEspace(gsListeQuery)<> "" ALORS gsMyLogon = gsMyLogon + "?" + gsListeQuery FIN //REDIRECTION VERS LE SERVER CAS POUR SE LOGGUER ScriptAffiche(gsCas_Server+"login","service="+gsMonServeur+gsMyLogon) //¨POUR PERMETTRE LE MODE DEBUG EN LOCAL // SINON ON SUPPRIME LA 1ERE SESSION POUR NE PAS FAIRE DOUBLON DE SESSION SUR LE SERVEUR D'APPLICATION SI ChaîneOccurrence(Minuscule(gsMonServeur),"localhost") = 0 ALORS FinProgramme() FIN SINON //FABRICATION DE LA PORTION D'URL POUR PERMETTRE LA VALIDATION DU TICKET CAS (validate?****) gsUrlCas = gsCas_Server + "validate?service=" +gsUrlService + "&ticket="+ gsTicket //APPEL DU WEBSERVICE POUR VALIDER LE TICKET CAS SI HTTPRequête(URLEncode(gsUrlCas)) ALORS gsResultat = HTTPDonneRésultat() // Recup du CR au format XML //TRAITEMENT DE LA VALIDATION ET ISOLEMENT DU LOGIN UTILISATEUR SI Majuscule(ExtraitChaîne(gsResultat,1,Caract(10)))="YES" ALORS //RECUPERATION DU LOGIN sGsLoginCASWebDev = ExtraitChaîne(gsResultat,2,Caract(10)) //SI LOGIN VIDE SI SansEspace(sGsLoginCASWebDev) = "" ALORS //REDIRECTION VERS LE SERVER CAS POUR SE RE-LOGGUER ScriptAffiche(gsCas_Server+"login","service="+gsMonServeur+gsMyLogon) FinProgramme() FIN SINON //REDIRECTION VERS LE SERVER CAS POUR SE RE-LOGGUER ScriptAffiche(gsCas_Server+"login","service="+gsMonServeur+gsMyLogon) FinProgramme() FIN
//LE XML CAS NE RENVOIE RIEN SINON //REDIRECTION VERS LE SERVER CAS POUR SE RE-LOGGUER ScriptAffiche(gsCas_Server+"login","service="+gsMonServeur+gsMyLogon) FinProgramme() FIN FIN FIN
RENVOYER sGsLoginCASWebDevMessage modified, March, 01 2018 - 5:19 PM |
| |
| |
| | | |
|
| | |
| |
Registered member 11 messages Popularité : +1 (1 vote) |
|
Posted on March, 01 2018 - 5:23 PM |
Si quelqu'un à le temps, il serrait intéressant de voir l'usage de ce type de SSO dans le framework de sécurité de WebDev (Groupware utilisateur). |
| |
| |
| | | |
|
| | |
| |
Posted on October, 17 2019 - 12:54 AM |
Bonjour,
J'ai développé un module d'utilisation SSO avec l'ADFS en utilsant oAuth2.
Je peux vous aider si vous avec toujours besoin.
Merci |
| |
| |
| | | |
|
| | |
| |
Registered member 47 messages Popularité : +1 (1 vote) |
|
Posted on October, 24 2019 - 1:41 PM |
Karim a écrit :
Bonjour,
J'ai développé un module d'utilisation SSO avec l'ADFS en utilsant oAuth2.
Je peux vous aider si vous avec toujours besoin.
Merci Bonjour Karim, désolé, je viens de voir le message. Le projet n'est plus d'actualité, mais je suis intéressé pour les développements futurs.
-- Bon dev ! Version Windev : 23 |
| |
| |
| | | |
|
| | |
| |
Registered member 950 messages Popularité : +53 (63 votes) |
|
Posted on October, 24 2019 - 3:02 PM |
Karim a écrit :
Bonjour,
J'ai développé un module d'utilisation SSO avec l'ADFS en utilsant oAuth2.
Je peux vous aider si vous avec toujours besoin.
Merci Bonjour,
Je serais interessé
Jordan |
| |
| |
| | | |
|
| | |
| |
Posted on November, 08 2019 - 4:08 PM |
Bonjour @karim, Je souhaite mettre en place une authentification SSO sur nos applications webdev en intranet avec un AD, du coup ce que vous avez fait m’intéresse pour le donner à l'un de mes dev. Pouvez-vous me fournir les éléments ? Merci |
| |
| |
| | | |
|
| | |
| |
Posted on January, 14 2020 - 11:35 PM |
Bonsoir Karim, Peut on se parler en MP à propos du connecteur ADFS ? Cela fait longtemps que je recherche cela ? Merci d’avance |
| |
| |
| | | |
|
| | |
| |
Posted on August, 23 2020 - 7:11 PM |
Bonjour Guillaume,
TU peux m'écrire à kar.zebiri@gmail.com
Merci, |
| |
| |
| | | |
|
| | |
| |
Registered member 2 messages |
|
Posted on August, 23 2020 - 7:16 PM |
Bonjour,
Vous pouvez me contacter sur kar.zebiri@gmail.com.
Désolé pour le retard.
Merci,
-- Karim Zebiri Expert Winde, Windev Mobile, Webdev SQL Server, Oracle , PGSQL Rest, SOAP, ADFS
https://www.linkedin.com/feed/ |
| |
| |
| | | |
|
| | |
| |
Registered member 2 messages |
|
Posted on August, 23 2020 - 7:18 PM |
@Geneslay Guillaume :
Tu peux me contacer sur kar.zebiri@gmail.com
-- Karim Zebiri Expert Winde, Windev Mobile, Webdev SQL Server, Oracle , PGSQL Rest, SOAP, ADFS
https://www.linkedin.com/feed/ |
| |
| |
| | | |
|
| | |
| |
Posted on January, 09 2023 - 11:29 AM |
Bonjour à tous,
Je fais un petit UP du sujet. Je suis moi-même à la recherche d'un bout de code ou d'une méthode qui me permettrait de faire du SSO sous webdev à partir de l'AD. Est-ce que quelqu'un aurait une piste de réflexion? Merci |
| |
| |
| | | |
|
| | | | |
| | |
|