Projet

Général

Profil

« Précédent | Suivant » 

Révision 458b278a

Ajouté par Jérôme Schneider il y a plus de 9 ans

authform: fix local_logout and improve replay relative uri management

Voir les différences:

mandaye/auth/authform.py
5 5
import base64
6 6
import copy
7 7
import re
8
import os
8 9
import traceback
9 10
import urllib
10 11

  
......
142 143
        auth_form = None
143 144
        # if there is a form parse it
144 145
        if not "://" in self.login_url:
145
            self.login_url = env['target'].geturl() + self.login_url
146
            self.login_url = os.path.join(env['target'].geturl(), self.login_url)
146 147
        login = get_response(env, request, self.login_url, cj)
147 148
        if login.code == 502:
148 149
            return login
......
181 182
            action = auth_form.action
182 183

  
183 184
        if not "://" in action:
184
            action = re.sub(r'(.+)/.*(\?.+)$', r'\1/%s\2' % action, self.login_url)
185
            login_url = re.sub(r'\?.*$', '', self.login_url)
186
            action = os.path.join(login_url, action)
185 187

  
186 188
        cookies = login.cookies
187 189
        headers = HTTPHeader()
......
329 331
        req_cookies = request.cookies
330 332
        for cookie in req_cookies.values():
331 333
            cookie['expires'] = 'Thu, 01 Jan 1970 00:00:01 GMT'
332
            cookie['path'] = '/'
333 334
        if next_url:
334 335
            return _302(next_url, req_cookies)
335 336
        else:

Formats disponibles : Unified diff