我正在研究在Django部署中使用Shibboleth的选项。据我所见,事情看上去有点稀疏。有人能对以下内容发表评论吗?
提前感谢您的帮助!
发布于 2011-10-21 13:46:27
虽然我没有使用Django+Shibboleth的经验,但我也有一些“普通”的Shibboleth。
如果您的Apache配置了适当的mod_shibboleth,那么将其与web应用程序集成相对来说是很简单的。查看django_shibboleth模块,您可以看到它不包含那么多代码。
特别是,如果您已经运行了mod_shibboleth,请不要使用第三方SAML 2库。这些都带来了许多不必要的复杂性。
发布于 2014-06-13 12:45:37
可以使用django-shibboleth模块从IdP获取属性并将它们映射到Django auth系统中的用户。大部分工作是由Shibboleth自己完成的,映射所需的代码不多。
从这里可以买到包装。
linuxsoft.cern.ch/internal/repos/ai6-stable/x86_64/os/Packages/django-shibsso-0.1-1.noarch.rpm
或者来自这里的消息来源。
linuxsoft.cern.ch/internal/repos/ai6-stable/source/SRPMS/django-shibsso-0.1-1.src.rpm
按照Shibboleth指令设置本地(SP),以便与IdP一起使用。
在conf.d .d中的http.conf文件或您自己的应用程序配置中,创建以下条目。
<Location /shibboleth>
AuthType shibboleth
ShibRequireSession On
ShibUseHeaders On
require valid-user
</Location>这将导致/shibboleth的URL被定向到IdP登录页面。成功登录后,将返回404页。
添加配置,将应用程序替换为应用程序的名称。
<Location "/">
SetHandler mod_python
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE app.settings
PythonDebug Off
</Location>这将导致通过/shibboleth URL登录后出现以下错误。当前URL Shibboleth.sso/ADFS与其中任何一个都不匹配。
要解决这个问题,您需要在配置中添加以下内容。
<Location /Shibboleth.sso>
SetHandler None
</Location>/var/log/shibboleth/transaction.log应该告诉您释放了哪些属性。
https://stackoverflow.com/questions/7850207
复制相似问题