2011-04-19 81 views
8

想用Access Control Service (ACS)Windows Identity Foundation (WIF)來保護我的WCF數據服務Web API應用程序。可以使用NameIdentifier和IdentityProvider(WIF)聲明來唯一標識任何用戶嗎?

如何使用聲明來唯一標識用戶?

我的想法是使用標準索賠NameIdentifier和WIF索賠IdentityProvider相結合的組合來爲任何用戶創建唯一的ID。

這個組合是否真正穩定和獨特? IP能否突然改變它的IdentityProvider字符串?

這裏的想法是將兩半的連接字符串存儲爲任何用戶的唯一ID。

NameIdentifier聲明是否有任何安全隱患?

乾杯,

M.

回答

4

這似乎是合理的。請注意,nameidentifier是特定於IdP的,這意味着它由您通過身份驗證的身份提供商提供(例如,LiveID,Google等)。 ACS只是將此值複製到索賠中。請與這些供應商中的每一家聯繫,看看他們做出了什麼保證。我的假設是,他們不應該改變爲「返回用戶」 - >擁有相同用戶名/密碼的人。

人們還經常使用電子郵件地址。如果可用,您可能也想將它關聯起來作爲額外的措施。

+0

謝謝你的回答。我同意 - 這也是我的推理線。我可以向輸出添加一個IP-ID聲明,我將完全控制未來,但對於名稱標識,沒有這種有用的方法,如果它會改變,我仍然無法將其與我的算法相匹配。另一方面,知識產權會改變其名稱標識符或標識符提供者的價值似乎是不合邏輯的。在我的書中,這是全球獨一無二且穩定的。從知識產權處看到「行爲準則的保證」或這類問題將得到解決的事情,這將是很好的。 – noopman 2011-04-23 05:57:14

2

賈斯廷史密斯在他的MIX11 talk(參見幻燈片22,28分鐘的演講)中提到了這一點 - 我的理解是,ACS爲您提供了名稱標識和IdP名稱。你把這個元組放在一起,它應該是唯一的id。

+0

是的,我同意聽起來好像ACS增加了IP聲明。但是,當你看到他們在不同的基礎上。一個是類似URI的URI,另一個是一個簡短的字符串。無論如何,它讓我不知道它們是否由IP提供? – noopman 2011-05-20 09:20:29