联盟提供的安装脚本,已经默认配置了IdP用户隐私保护功能。用户认证成功后,会出现用户使用须知和属性释放两个页面。
用户使用须知
当出现此页面后,用户必须点击“我同意使用此条款”,可以继续,如果点击“拒绝”,则中止服务。建议根据本校实际情况修改此提示。
页面内容可以通过页面内容可通过修改/opt/shibboleth-idp/messages/messages.properties文件自定义。
Code Block | ||||
---|---|---|---|---|
| ||||
[carsi@www ~]$ sudo vi /opt/shibboleth-idp/messages/messages.properties #my-terms 参数请勿修改 my-terms = my-tou #my-tou.title 使用须知标题 my-tou.title = 关于身份认证与隐私的声明 #my-tou.text使用须知内容 my-tou.text = 请学校自行替换。 |
用户选择属性是否释放页面
用户访问资源时,提示用户释放了哪些属性给资源服务商,如果用户不同意提供这些属性给资源服务商可点击“拒绝”。用户访问资源时,提示用户释放了哪些属性给资源服务商。如果用户不同意提供这些属性给资源服务商可点击“拒绝”。
如何关闭“用户使用须知”和“用户选择属性是否释放”页面
如果要关闭此页面显示,配置/opt/shibboleth-idp/conf/relying-party.xml文件。其中的“terms-of-use”参数对应“用户使用须知”页面,“attribute-release”参数对应“用户选择属性是否释放”页面。
Code Block | ||||
---|---|---|---|---|
| ||||
[carsi@www ~]$ sudo vi /opt/shibboleth-idp/conf/relying-party.xml <bean parent="SAML2.SSO" p:postAuthenticationFlows="#{ {'terms-of-use', 'attribute-release'} }" /> #替换成 <bean parent="SAML2.SSO" /> |
如何允许用户针对每个属性的释放进行选择
在用户可见属性释放选择页面的前提下,可以配置是否允许用户选择需要释放属性,配置后,在属性后面会出现选择框,如果用户允许释放打勾即可。在用户可见属性释放选择页面的前提下,可以配置是否允许用户选择需要释放属性,配置后,在属性后面会出现选择框,如果用户同意释放打勾即可。
如果需要屏蔽用户的选择权,则将下述配置项设为false即可。
Code Block | ||||
---|---|---|---|---|
| ||||
[carsi@www ~]$ sudo vi /opt/shibboleth-idp/conf/idp.properties #true:用户可见释放属性页面;false或者注释掉该行:用户不可见属性释放页面。 idp.consent.allowPerAttribute=true [carsi@www ~]$ sudo systemctl restart jetty |
如何屏蔽用户对某些属性释放的选择权
联盟推荐的IdP安装方式,会对SP自动释放四个属性,分别为eduPersonScopedAffiliation、 eduPersonTargetedID、samlPairwiseID、eduPersonEntitlement, 其中eduPersonTargetedID不需要要求用户同意而强制释放,如果有学校希望屏蔽用户对某些属性的选择权,可以将这些属性名称加入consent联盟推荐的IdP安装方式,会对SP自动释放四个属性,分别为eduPersonScopedAffiliation、 eduPersonTargetedID、samlPairwiseID、eduPersonEntitlement,eduPersonTargetedID为加密后用户id,系统无需征得用户同意可直接释放。如果学校希望屏蔽用户对某些属性的选择权,可以将这些属性名称加入consent-intercept-config.xml配置文件,添加方式参考下面的eduPersonScopedAffiliation属性配置:xml配置文件,添加方式参考下面的eduPersonScopedAffiliation属性配置。根据《中华人民共和国个人信息保护法》,未加密个人信息的释放需征得用户本人同意。
Code Block | ||||
---|---|---|---|---|
| ||||
[carsi@www ~]$ sudo vi /opt/shibboleth-idp/conf/intercept/consent-intercept-config.xml #将需要屏蔽的属性名称替换下面的“属性名称” <util:list id="shibboleth.consent.attribute-release.BlacklistedAttributeIDs"> <value>属性名称</value> <value>eduPersonScopedAffiliation</value> </util:list> [carsi@www ~]$ sudo systemctl restart jetty |
...