shibboleth/saml wayf服务的简单django实现
django-wayf的Python项目详细描述
===
wayf
=
wayf是一个简单的django应用程序,它实现了saml wayf(你来自哪里)服务。
它允许你选择你的家庭idp(研究所)进行进一步重定向,
通过分析你的联合元数据(.xml)
此代码来自https://code.grnet.gr/projects/wayf
作为一个单独的可用django应用程序的wayf部分。将“wayf”添加到已安装的应用程序设置中,并配置元数据的位置,如下所示:
(“技术教育机构”),
(“学校”,“其他学术机构”),
(“学院”,“研究机构”),
(“其他”,“请选择你的学院”),
(“测试”,“测试”),
)
p3p_header='
idp_cookie='所选的路径'idp'
最后一个idp_cookie='最后一个idp路径'
cookie_domain='.example.com'
2.在项目Urs.Py中包含WAFF URLCONF::
BR/> URL(R'^ WAFF),包括('WAF.URLS)),
BR/>如果在模板周围有更多的灵活性,
只有基本视图App.Br/> Wav.Value.Wavf
只有一个视图,这样您就可以创建自己的URL,指向这个视图。wayf扩展一个base.html模板,在那里他们将在{%content%}标记中插入他们的html。
>3。此应用程序不在其模型中存储任何内容,因此不需要迁移。启动开发服务器并访问http://127.0.0.1:8000/wayf
,选择您的家庭研究所
5。将shibboleth2.xml文件配置为使用以下方式:sessioninitiator type=“chaining”location=“/ds” id="DS" isDefault="true" relayState="cookie">
<;sessioninitiator type=“samlds”url=“https://example.com/wayf”/>;
<;sessioninitiator/>;
extra
--
您真正需要的视图只有wayf.views.wayf
包含一些其他视图,这些视图可以帮助您为用户生成自动生成的页面,例如使用以下模板:如果在主组织的身份验证页面中遇到问题,请与主组织的用户帮助台联系。这也是解决与帐户相关问题的地方,如密码丢失或更改、联系人详细信息更改等。
{%如果是idp.contact.email或idp.contact.telephone%}
根据您选择的家庭组织,";<;b>;{{idpname}<;/b>;";,您可以使用以下联系人详细信息获得支持:
<;ul id="contactdetails">
{%if idp.contact.e mail%}
<;li>;<;strong>;电子邮件:<;/strong>;<;a href=“mailto:{{idp.contact.email}?{{idp.contact.contact.email}<;a>;
{%endif%}
{%n如果idp.contact.telephone%}
>>{%lt;lt;li>;lt;strong>;{%trans“电话”%}:<;lt;strong>;{{{idp.contact.telephone}<;li>;
{%endif%>
<;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;/li>;
依赖项
--
此套件要求系统上存在以下python模块:
-python lxml:使用lxml.objectify解析xml元数据
可选,尚未完全实现,您需要手动进行一些更改:
-pydns:用于反向dns查找以获取有关用户首选idp的提示
-ipy:用于IP映射操作
wayf
=
wayf是一个简单的django应用程序,它实现了saml wayf(你来自哪里)服务。
它允许你选择你的家庭idp(研究所)进行进一步重定向,
通过分析你的联合元数据(.xml)
此代码来自https://code.grnet.gr/projects/wayf
作为一个单独的可用django应用程序的wayf部分。将“wayf”添加到已安装的应用程序设置中,并配置元数据的位置,如下所示:
(“技术教育机构”),
(“学校”,“其他学术机构”),
(“学院”,“研究机构”),
(“其他”,“请选择你的学院”),
(“测试”,“测试”),
)
p3p_header='
idp_cookie='所选的路径'idp'
最后一个idp_cookie='最后一个idp路径'
cookie_domain='.example.com'
2.在项目Urs.Py中包含WAFF URLCONF::
BR/> URL(R'^ WAFF),包括('WAF.URLS)),
BR/>如果在模板周围有更多的灵活性,
只有基本视图App.Br/> Wav.Value.Wavf
只有一个视图,这样您就可以创建自己的URL,指向这个视图。wayf扩展一个base.html模板,在那里他们将在{%content%}标记中插入他们的html。
>3。此应用程序不在其模型中存储任何内容,因此不需要迁移。启动开发服务器并访问http://127.0.0.1:8000/wayf
,选择您的家庭研究所
5。将shibboleth2.xml文件配置为使用以下方式:sessioninitiator type=“chaining”location=“/ds” id="DS" isDefault="true" relayState="cookie">
<;sessioninitiator type=“samlds”url=“https://example.com/wayf”/>;
<;sessioninitiator/>;
extra
--
您真正需要的视图只有wayf.views.wayf
包含一些其他视图,这些视图可以帮助您为用户生成自动生成的页面,例如使用以下模板:如果在主组织的身份验证页面中遇到问题,请与主组织的用户帮助台联系。这也是解决与帐户相关问题的地方,如密码丢失或更改、联系人详细信息更改等。
{%如果是idp.contact.email或idp.contact.telephone%}
根据您选择的家庭组织,";<;b>;{{idpname}<;/b>;";,您可以使用以下联系人详细信息获得支持:
<;ul id="contactdetails">
{%if idp.contact.e mail%}
<;li>;<;strong>;电子邮件:<;/strong>;<;a href=“mailto:{{idp.contact.email}?{{idp.contact.contact.email}<;a>;
{%endif%}
{%n如果idp.contact.telephone%}
>>{%lt;lt;li>;lt;strong>;{%trans“电话”%}:<;lt;strong>;{{{idp.contact.telephone}<;li>;
{%endif%>
<;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt;/li>;
依赖项
--
此套件要求系统上存在以下python模块:
-python lxml:使用lxml.objectify解析xml元数据
可选,尚未完全实现,您需要手动进行一些更改:
-pydns:用于反向dns查找以获取有关用户首选idp的提示
-ipy:用于IP映射操作