コード例 #1
0
ファイル: __init__.py プロジェクト: mhellmic/b2share
def login_redirect(referer=None):
    if referer is None:
        referer = request.values.get('referer')
    if referer:
        from six.moves.urllib.parse import urlparse
        # we should not redirect to these URLs after login
        blacklist = [url_for('webaccount.register'),
                     url_for('webaccount.logout'),
                     url_for('webaccount.login'),
                     url_for('webaccount.lost')]
        if not urlparse(referer).path in blacklist:
            # Change HTTP method to https if needed.
            from invenio.utils.url import rewrite_to_secure_url
            referer = rewrite_to_secure_url(referer)
            return redirect(referer)
    return redirect('/')
コード例 #2
0
def login_redirect(referer=None):
    """Redirect to url after login."""
    if referer is None:
        referer = request.values.get('referer')
    if referer:
        from six.moves.urllib.parse import urlparse
        # we should not redirect to these URLs after login
        blacklist = [url_for('webaccount.register'),
                     url_for('webaccount.logout'),
                     url_for('webaccount.login'),
                     url_for('webaccount.lost')]
        if not urlparse(referer).path in blacklist:
            # Change HTTP method to https if needed.
            from invenio.utils.url import rewrite_to_secure_url
            referer = rewrite_to_secure_url(referer)
            return redirect(referer)
    return redirect('/')
コード例 #3
0
    def redirect_to_ssl(self):
        """Redirect incoming requests to HTTPS."""
        # Should we redirect?
        criteria = [
            request.is_secure,
            request.headers.get('X-Forwarded-Proto', 'http') == 'https',
            'no-https-redirect' in self.app.config.get('CFG_DEVEL_TOOLS', []),
        ]

        if self.criteria_callback is not None:
            criteria += [self.criteria_callback()]

        if not any(criteria):
            if request.url.startswith('http://'):
                url = rewrite_to_secure_url(request.url)

                code = 302
                if self.permanent:
                    code = 301
                r = redirect(url, code=code)

                return r
コード例 #4
0
ファイル: wrappers.py プロジェクト: mhellmic/b2share
    def redirect_to_ssl(self):
        """Redirect incoming requests to HTTPS."""
        # Should we redirect?
        criteria = [
            request.is_secure,
            request.headers.get('X-Forwarded-Proto', 'http') == 'https',
            'no-https-redirect' in self.app.config.get('CFG_DEVEL_TOOLS', []),
        ]

        if self.criteria_callback is not None:
            criteria += [self.criteria_callback()]

        if not any(criteria):
            if request.url.startswith('http://'):
                url = rewrite_to_secure_url(request.url)

                code = 302
                if self.permanent:
                    code = 301
                r = redirect(url, code=code)

                return r