Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagebash
borderStylesolid
[root@www ~]#systemctl restart tomcat

• 关于日志

这种方式由于没有存储persistentId与用户id的映射关系,因此是无法通过persistentId反查某一时间点的用户id,可在已知用户uid的情况下,通过以下方法重新生成针对某一个SP的persistentId属性,不建议继续采用。

IdP的Audit日志中记录了用户的uid信息,有时候需要查询某一个uid登录某一个SP出现异常的情况,SP往往需要提供对应的persistentId属性。

可以使用以下perl脚本生成:

yum install install perl-Digest-SHA.x86_64
perl -e 'use Digest::SHA qw(sha1_base64); $digest = sha1_base64("sp_entityid!attribute!salt"); $eqn = length($digest) % 4; print $digest; print "=" x (4-$eqn) . "\n"'

请将sp_entityid改为SP的EntityID,attribute改为eduPersonPrincipalName的值(注意,如果该属性的type是scopped类型的,则这里的值是@前面的部分,如果怕出错,可以分别生成包括@和不包括@的值,均提供给SP排查),salt改为IdP中配置的salt值。

备注:具体逻辑参见:https://github.com/UniconLabs/shib-idp3/blob/master/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/attribute/resolver/impl/ComputedIDDataConnector.java

第二种方式:采用数据库永久存放用户ePTID

        出于安全考虑,建议数据库只允许本地访问、删除匿名用户、禁止远程登录、删除test数据库。

...