如何使用 Django-mama-CAS 限制每个用户对各种服务的访问?
How to limit access to various services per user using Django-mama-CAS?
我正在使用 django-mama-cas
模块为第三方应用程序实施单点登录。有没有办法限制每个用户访问不同的服务?
我知道设置中有一个选项:MAMA_CAS_VALID_SERVICES
来限制有效的 URL,但我感兴趣的是限制每个用户对其中一些服务的访问。
最简单的方法是实现 custom callback。回调同时传递给用户对象和服务 URL,因此您可以根据需要的任何组合来限制访问。如果测试失败,则引发 PermissionDenied 以中止请求(与提供无效服务时所做的相同)。如果您不需要任何自定义属性,只需 return 一个空字典即可成功。
我正在使用 django-mama-cas
模块为第三方应用程序实施单点登录。有没有办法限制每个用户访问不同的服务?
我知道设置中有一个选项:MAMA_CAS_VALID_SERVICES
来限制有效的 URL,但我感兴趣的是限制每个用户对其中一些服务的访问。
最简单的方法是实现 custom callback。回调同时传递给用户对象和服务 URL,因此您可以根据需要的任何组合来限制访问。如果测试失败,则引发 PermissionDenied 以中止请求(与提供无效服务时所做的相同)。如果您不需要任何自定义属性,只需 return 一个空字典即可成功。