from django_keycloak.decorators import keycloak_protect
@keycloak_protect
def my_view(request):
# Your view logic here
...
使用@keycloak_roles_required装饰器来限制对特定角色的访问:
from django_keycloak.decorators import keycloak_roles_required
@keycloak_roles_required(roles=['admin'])
def admin_view(request):
# Your admin view logic here
...
1条答案
按热度按时间bbmckpt71#
django-keyloack安装正确吗?以防万一运行pip list以确保它会显示在已安装的软件包列表中。如果它被正确地安装,也许可以仔细检查一下你是否在代码中正确地导入了decorators模块。
当我最近安装了django_keycloak包或更改了我的Django项目时,我经常会遇到这样的情况,我不得不重新启动我的开发服务器。有时,环境中的更改需要重新启动服务器才能生效。
***EDIT:***所以我假设你已经安装了django-keycloack,命令是:pip install django-keycloak
在Django项目的www.example.com文件中配置Keycloak设置settings.py。您需要提供Keycloak服务器URL、域名、客户端ID和客户端密码。下面是一个示例配置:
然后定义Django视图,并使用@keycloak_protect装饰器通过Keycloak认证来保护它们:
使用@keycloak_roles_required装饰器来限制对特定角色的访问:
在Django项目的www.example.com文件中配置Keycloak中间件settings.py,以启用Keycloak身份验证中间件:
希望这能帮到你。