簡體   English   中英

如何驗證在Web App中調用Web服務的Windows Mobile客戶端

[英]How to authenticate a Windows Mobile client calling web services in a Web App

我有一個用ASP.NET編寫的相當復雜的業務應用程序,它部署在托管服務器上。 該站點使用表單身份驗證,並定義了大約十幾個不同的角色。 員工和客戶都是該應用程序的用戶。

現在我需要為應用程序開發Windows Mobile客戶端,允許從設備執行非常專業的任務集,而不是筆記本電腦上的瀏覽器。 客戶希望通過這一措施提高生產力。 只有員工才會使用此應用程序。

我覺得重新使用已經存在的安全基礎設施是有意義的。 客戶端不需要脫機功能。

我的想法是將一組Web服務部署到只有新角色“Web服務”可以訪問的現有站點的文件夾,並使用Forms Authentication(來自Windows Mobile 5 / .Net 3.5客戶端)。

我確實看到了這個問題 ,我知道表單身份驗證帶來的限制。 由於安全性不是我的主要動力(我使用SSL並且可以通過IP地址限制訪問),而是使用現有的用戶帳戶和角色,我的決策樹也有所不同。

我可以這樣做,這是一個好主意,是否有任何代碼示例/參考可以指向我?

我最終得到了一些東西。 首先,表單身份驗證在這種情況下並不真正起作用,因為當用戶未登錄或憑據不正確時,您會獲得重定向。

因為我想使用來自Web應用程序的用戶帳戶,所以我在處理服務器上的每個服務調用之前只調用Membership.ValidateUser來解決這個問題。

登錄到客戶端時,系統會提示用戶輸入ID和密碼。 我將兩個加密的值存儲在代理類中,並使用主機頭進行每次調用時透明地傳遞它們,這樣一旦用戶登錄,應用程序就不必為此煩惱了,即通過調用Login驗證了一次憑證( )服務方法(僅調用Membership.ValidateUser)。

我在服務器端和客戶端都使用CryptoApi。 我知道主機標頭對於安全應用程序來說已經過時,但由於我使用強加密和SSL,因此它非常適合。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM