Forum: Rails France Déconnexion d'une authentification Apache

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
B64718d87b5ddbb0c059356b1776c657?d=identicon&s=25 Noé Fr (noe)
on 2007-03-22 21:08
(Received via mailing list)
Bonsoir!

J'ai fait une application Web avec une authentification Apache.
J'aurais voulu la faire directement en ruby dans l'application, mais
la personne qui s'occupe de la sécurité informatique où je vais
installer cette application voulait que ce soit Apache qui fasse
l'authentification par LDAP...

Jusque là, tous va bien! J'arrive même à récupérer le nom de
l'utilisateur avec @request.env['REMOTE_USER'] dans mon application
RubyonRails .

Mais... Je n'arrive pas à faire un bouton de déconnexion (logout).
Cela est dû au fait que l'on ne peut pas par exemple effacer la
variable 'REMOTE_USER' qu'à créé Apache d'après ce que j'ai lu sur
d'autres forums/blogs.

Malgré cela, j'ai vu quelques solutions comme par exemple rediriger
sur une page du style "http://logout:logout@monserveur.com/ où le
login/mondepasse est faux donc Apache redemande une authentification
(donc ça réaffiche la demande de login mais ce qui n'est pas très
"élégant" comme solution de déconnexion où on veut simplement se
déconnecter, pas ce réauthentifier...).

Quelqu'un a déjà été confronté à ce problème? Ou aurait une idée de
solution?

Merci de votre lecture et de votre éventuelle réponse!

Noé_______________________________________________
Railsfrance mailing list
Railsfrance@rubyonrails.fr
http://lists.rubyonrails.fr/mailman/listinfo/railsfrance
669e19951b848d1b0dac78655e34c2a4?d=identicon&s=25 Simon Pasquier (Guest)
on 2007-03-22 23:03
(Received via mailing list)
Salut,

Confronté au même problème, je n'ai pas trouvé mieux que ta solution du
http://logout:logout@monserveur.com/...

Simon
Bef7ff8a0537495a1876ffebdc9f8e51?d=identicon&s=25 Lionel Bouton (Guest)
on 2007-03-23 00:16
(Received via mailing list)
noe@new-dev.net wrote the following on 22.03.2007 21:06 :
> Bonsoir!
>
> J'ai fait une application Web avec une authentification Apache.
> J'aurais voulu la faire directement en ruby dans l'application, mais
> la personne qui s'occupe de la sécurité informatique où je vais
> installer cette application voulait que ce soit Apache qui fasse
> l'authentification par LDAP...
>

Je suis curieux, cette personne a donné une raison ? Parce que ça
revient quand même quinze ans en arrière et le problème du logout n'est
pas le seul rencontré. En pratique pour des raisons de sécurité on
préfére justement ne *pas* laisser le frontal web avoir accès à la base
utilisateur pour éviter de multiplier le nombre de composants
susceptibles d'être attaqués...
B64718d87b5ddbb0c059356b1776c657?d=identicon&s=25 Noé Fr (noe)
on 2007-03-23 07:07
(Received via mailing list)
Bonjour,

Sa raison était qu'il pouvait lui-même avoir accès à la partie qui
prend le mot de passe. Si je l'aurais mis dans l'application Ruby on
Rails, il aurait du faire une vérification de tout le code... (il
avait peur d'un backdoor en gros...).

Meilleures salutations,
Noé


Le 23 mars 07 à 00:15, Lionel Bouton a écrit :
A83a70aa42afa4c45563213e6ffc03ce?d=identicon&s=25 Eric Daspet (Guest)
on 2007-03-23 10:18
(Received via mailing list)
Le Jeu 22 mars 2007 23:01, Simon Pasquier a écrit :
>> Mais... Je n'arrive pas à faire un bouton de déconnexion (logout).
>> Cela est dû au fait que l'on ne peut pas par exemple effacer la
>> variable 'REMOTE_USER' qu'à créé Apache d'après ce que j'ai lu sur
>> d'autres forums/blogs.


Il suffit de renvoyer une entête d'authentification :
- un code de retour 401 (le message a peu d'importance)
- une entête "WWW-Authenticate" avec pour valeur 'Basic realm="My Realm"'
(attention à changer le "My Realm" pour utiliser ton realm habituel)


Le navigateur verra une demande d'auth pour le même domaine sur le même
realm et redemandera une authentification.

--
Éric Daspet
http://eric.daspet.name/
B64718d87b5ddbb0c059356b1776c657?d=identicon&s=25 Noé Fr (noe)
on 2007-03-24 10:25
(Received via mailing list)
Le 23 mars 07 à 10:16, Eric Daspet a écrit :
> - une entête "WWW-Authenticate" avec pour valeur 'Basic realm="My
> http://eric.daspet.name/
>
> _______________________________________________
> Railsfrance mailing list
> Railsfrance@rubyonrails.fr
> http://lists.rubyonrails.fr/mailman/listinfo/railsfrance


Merci de la réponse!

Le "realm" c'est bien ce qu'on a défini comme "AuthName" dans la
config du VirtualHost d'Apache?

Donc avec cette solution, on arrive à la même finalité qu'avec un
http://logout:logout@monserveur.com (même si celle-ci est beaucoup
plus élégante) ? On ne peut pas définir une page comme quoi on est
délogué sans avoir la fenêtre de login qui revient?

Bonne journée!
No
This topic is locked and can not be replied to.