예제 #1
0
파일: admin.py 프로젝트: crodjer/oldies
 def _openid_login(self, request, error_message="", extra_context=None):
     if request.user.is_authenticated():
         if not request.user.is_staff:
             return views.default_render_failure(
                 request, "User %s does not have admin access." % request.user.username
             )
         return views.default_render_failure(request, "Unknown Error: %s" % error_message)
     else:
         # Redirect to openid login path,
         return HttpResponseRedirect(settings.LOGIN_URL + "?next=" + request.get_full_path())
예제 #2
0
def _openid_login(instance, request, error_message='', extra_context=None):
    # Support for allowing openid authentication for /admin
    # (django.contrib.admin)
    if not getattr(settings, 'OPENID_USE_AS_ADMIN_LOGIN', False):
        return original_admin_login(instance,
                                    request,
                                    extra_context=extra_context)

    authenticated = False
    try:
        authenticated = request.user.is_authenticated()
    except Exception:
        authenticated = request.user.is_authenticated

    if not authenticated:
        # Redirect to openid login path,
        _, _, path, _, query, _ = urlparse(request.get_full_path())
        qs = dict(parse_qsl(query))
        qs.setdefault('next', path)
        return HttpResponseRedirect(settings.LOGIN_URL + "?" + urlencode(qs))

    if not request.user.is_staff:
        return views.default_render_failure(
            request, "%s %s does not have admin/staff access." %
            (settings.AUTH_USER_MODEL, request.user.username))

    # No error message was supplied
    assert error_message, "Unknown Error: %s" % error_message
예제 #3
0
 def _openid_login(self, request, error_message='', extra_context=None):
     if request.user.is_authenticated():
         if not request.user.is_staff:
             return views.default_render_failure(
                 request, "User %s does not have admin access."
                 % request.user.username)
         assert error_message, "Unknown Error: %s" % error_message
     else:
         # Redirect to openid login path,
         return HttpResponseRedirect(
             settings.LOGIN_URL + "?next=" + request.get_full_path())
예제 #4
0
def _openid_login(instance, request, error_message='', extra_context=None):
    # Support for allowing openid authentication for /admin
    # (django.contrib.admin)
    if not getattr(settings, 'OPENID_USE_AS_ADMIN_LOGIN', False):
        return original_admin_login(
            instance, request, extra_context=extra_context)

    if not request.user.is_authenticated():
        # Redirect to openid login path,
        _, _, path, _, query, _ = urlparse(request.get_full_path())
        qs = dict(parse_qsl(query))
        qs.setdefault('next', path)
        return HttpResponseRedirect(
            settings.LOGIN_URL + "?" + urlencode(qs))

    if not request.user.is_staff:
        return views.default_render_failure(
            request, "%s %s does not have admin/staff access."
            % (settings.AUTH_USER_MODEL, request.user.username))

    # No error message was supplied
    assert error_message, "Unknown Error: %s" % error_message
예제 #5
0
def openid_failure(request, message, status=403):
    return openid_views.default_render_failure(request, message, status, template_name='bookstore/openid_failure.html')