Newer
Older
import ckan.plugins.toolkit as toolkit
import ckan.authz as authz
from ckan.common import g
import ckan.lib.authenticator as authenticator
from flask import Blueprint, request, Response
import ckan.views.user as ckan_user_view
import logging
log = logging.getLogger(__name__)
blueprint = Blueprint('odsh_user', __name__)
def index():
is_sysadmin = authz.is_sysadmin(g.user)
if not is_sysadmin:
toolkit.abort(403)
return ckan_user_view.index()
# if not is_sysadmin:
# toolkit.abort(403)
# return ckan_user_view.RegisterView.as_view(str(u'register'))
if not g.user:
return ckan_user_view.login()
return ckan_user_view.read(id)
def auth():
auth = request.authorization
if not auth:
return Response('Unauthorized', 401, {'WWW-Authenticate': 'Basic realm="Login Required"'})
username = auth.username
password = auth.password
if _authenticate(username, password):
return Response('Authorized', 200)
else:
return Response('Unauthorized', 401, {'WWW-Authenticate': 'Basic realm="Login Required"'})
def _authenticate(username, password):
identity = {'login': username, 'password': password}
user = authenticator.ckan_authenticator(identity)
if user:
return user
return None