2009-08-13 94 views
0

我的網站使用表單身份驗證。我做了silverlight 3模塊,它被設計爲在asp認證的用戶環境中工作。 Silverlight模塊與由同一個asp.net網站託管的WCF進行會談,但問題是它無法對WCF服務進行身份驗證。 我運行Fiddler,我發現.ASPXAUTH cookie不會發送到WCF服務。 如何強制Silverlight從瀏覽器獲取此cookie並將其發送到服務?Silverlight和ASP.NET授權

回答

1

最後我解決了它。 缺少cookie的問題是由不正確的主機名造成的。 我正在發送asp.net請求到myhostname,但SL使用myhostname.mylocaldomainnam.local調用WCF。這就是爲什麼在WCF調用期間沒有.aspauth cookie。

0

我已經成功地使用了它。首先,我確保ASP.NET所使用的WCF AuthorizationService有一個服務端點。然後使用Silverlight項目爲AuthorizationService生成一個「服務引用」。最後,在你的模塊中,你將使用該服務引用來使用存儲在你的提供者中的憑證登錄你的訪問者。如果您有更多關於如何構建網站的信息,我可能會爲您的問題提供更簡潔的答案。

+0

用戶在asp.net網站上登錄。然後他可以進入Silverlight模塊。我不希望用戶在Silverlight中再次登錄,我也不想在任何臨時位置(瀏覽器/會話)中存儲他的密碼 – tomo 2009-08-15 23:01:29

+0

它們是一樣的。登錄到使用表單身份驗證的頁面將創建與使用WPF身份驗證服務相同的cookie。因此,登錄到頁面將允許傳遞到Silverlight,就​​像登錄到Silverlight將允許傳遞到ASP.NET一樣。 順便說一句,密碼永遠不會存儲在任何地方使用窗體身份驗證。 – Rick 2009-08-16 18:19:32

+0

爲什麼我需要添加對身份驗證服務的引用?我是否需要在Silverlight客戶端中通過此服務調用任何函數(或配置)? – tomo 2009-08-17 07:12:15