Adfs
ADFS - 如何在沒有域的情況下發送 sAMAccountName
我正在使用 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,否則不推薦。