Adfs

ADFS - 如何在沒有域的情況下發送 sAMAccountName

  • September 24, 2020

我正在使用 ADFS,我需要發送 sAMAccountName。

目前使用“轉換傳入聲明”規則:傳入聲明類型:Windows 帳戶名稱傳出聲明類型:名稱 ID 傳出名稱 ID 格式:電子郵件(我知道格式實際上是錯誤的,但這是提供商想要的格式並且它有效)

不幸的是,發送的使用者名包括域前綴,例如“域\使用者名”。我怎樣才能擺脫“域”?

我嘗試通過

   c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname"]
   => issue(Type = "sswindowsaccountname", Value = RegexReplace(c.Value, "^Domain\\", ""));

不幸的是,它不起作用。

有人知道我該如何解決嗎?謝謝!

您可以在沒有自定義規則的情況下實現此目的,方法是從模板創建規則Send LDAP Attributes as Claims,然後像您已經做的那樣轉換該聲明。

規則 1:Send LDAP Attributes as Claims

屬性儲存:Active Directory

映射 1 LDAP 屬性:SAM-Account-Name

映射 1 傳出聲明類型:(samaccountname選擇您喜歡的名稱)

規則 2:Transform an Incoming Claim

傳入索賠類型:(samaccountname使用您在規則 1 中選擇的名稱)

傳出索賠類型:(Email Address不知道確切的英文措辭)

選項:Pass through all claim values

由於嚮導的建構方式的性質,ADFS 還將發送來自規則 1 的中間聲明,但這不應該是一個問題。如果您創建自定義規則,則可以省略添加該聲明,但這需要更深入地了解語法並增加複雜性。除非您每周處理 SAML,否則不推薦。

引用自:https://serverfault.com/questions/1034866