utils.py 文件源码

python
阅读 28 收藏 0 点赞 0 评论 0

项目:adjutant 作者: openstack 项目源码 文件源码
def require_roles(roles, func, *args, **kwargs):
    """
    endpoints setup with this decorator require the defined roles.
    """
    request = args[1]
    req_roles = set(roles)
    if not request.keystone_user.get('authenticated', False):
        return Response({'errors': ["Credentials incorrect or none given."]},
                        401)

    roles = set(request.keystone_user.get('roles', []))

    if roles & req_roles:
        return func(*args, **kwargs)

    return Response({'errors': ["Must have one of the following roles: %s" %
                                list(req_roles)]}, 403)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号