我将SSO与ADFS集成在一起,我需要获取当前登录者的管理员电子邮件。当我使用以下命令发送manager属性时:
query = ";manager;{0}"
我只找回经理的姓名和组织。
但是,示例中给出的规则导致语法错误。
并尝试了线程中的各种方法,例如: https://social.msdn.microsoft.com/Forums/expression/en-US/903e217b-a441-41d6-9400-661644820500/extract-manager-email-address?forum=Geneva
我认为我需要以某种方式使用他们的名字来查询经理,但是我很难找到解决方案。我知道我可能需要多个规则。任何人都可以阐明这个问题吗? 谢谢
答案 0 :(得分:0)
以下规则说明了如何发布邮件属性作为“ ManagerEmail”声明:
c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname"]
&& c1:[Type == "http://schemas.xmlsoap.org/claims/ManagerDistinguishedName"]
=> issue(store = "Active Directory", types = ("http://schemas.xmlsoap.org/claims/ManagerEmail"), query = "(&(distinguishedName={0})(objectClass=user));mail;{1}", param = c1.Value,
param = regexreplace(c1.Value, ".*DC=(?<domain>.+),DC=corp,DC=yourdomain,DC=com", "${domain}\username"));
请确保该用户的管理员与该用户位于同一域中,即上例中的 corp.yourdomain.com ,并且您的测试用户确实指定了一些电子邮件。