2011-09-28 90 views
0

我使用WCF Rest服務在JavaScript(Sencha)/ HTML5中處理移動Web應用程序,該服務需要使用身份驗證來從定製(MySQL)數據庫驗證用戶以便自定義在用戶會話期間的服務響應。用於Javascript(Sencha)網絡應用程序的WCF身份驗證

我搜索一下WCF認證,建立這麼多的方法是我'真的失去了找到回答我約束的最好方式......

我真的能認證來自WCF web服務我的用戶(與他用戶名和密碼),然後保留一個令牌或一個cookie或任何可用於下面的請求,以識別我的用戶,並根據該用戶作出我的迴應?

在此先感謝您的幫助!

回答

0

許多認識可以通過許多方式完成。用戶名/密碼,證書等,這實際上取決於您的要求。

例如, 如果您有一個處理用戶財務信息的移動應用程序(例如銀行賬戶),那麼我將同時使用用戶憑證和X509Certificates。

如果您有一個面向公衆的應用程序,那麼您只需使用證書即可(僅客戶端證書)。

如果您有B2B應用程序(在這種情況下我會懷疑),那麼您可以使用Asymantic證書(客戶端和服務器),在其中創建客戶端和服務器證書(X509)並提供給客戶端並讓客戶端將其手動安裝在他們的客戶端設備上。

對於最簡單的senario,您可以嘗試使用用戶名和密碼開始。因此,您的客戶端應用程序將使用用戶名/密碼與服務器上的WCF服務進行身份驗證。 Follwing我給你一個很好的起點 http://msdn.microsoft.com/en-us/library/ms733131.aspx http://www.codeproject.com/KB/WCF/CustomUserNamePassAuth2.aspx

+0

好吧,我已經找到這樣的頁面,我想知道,如果那樣的解決方案將與JavaScript客戶端工作,因爲我發現每個樣本(和你也)顯示.net客戶端樣本... 我如何設置憑據(用戶名和密碼)在我的javascript(sencha)? Web服務如何在下列請求中重新構建我的用戶? – Chaaarly

+0

通常,您不需要在JavaScript中執行此操作。這是由.NET對象模型處理的。因此,您可以在web.config(或app.config)中指定憑據,然後由移動應用程序代碼使用(不是JavaScript,而是用於例如C#或VB的某種可編譯代碼)。你的JavaScript將使用處理程序向這個Web服務發出請求,它不會對WCF的管道產生影響。 – daehaai

+0

對不起,但我真的不明白這將如何工作。你的意思是我需要首先使用ASP.net表單驗證我的用戶嗎? 但之後,我對WS的請求將由我的sencha代理髮送。那麼,如何,當我將在我的WS中收到請求時,我將知道哪個用戶已通過身份驗證,以便個性化我的回覆? – Chaaarly

相關問題