3

我有一個相當複雜的業務應用程序,它部署在託管服務器上,並使用ASP.NET編寫。該網站使用表單身份驗證,並且定義了大約十幾個不同的角色。員工和客戶都是應用程序的用戶。如何驗證在Web應用程序中調用Web服務的Windows Mobile客戶端

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

我覺得重新使用已經存在的安全基礎結構是有意義的。客戶端不需要離線功能。

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

我確實看到this question,我意識到Forms身份驗證帶來的限制。由於安全性不是我的主要動機(我使用SSL並可以通過IP地址限制訪問),但是使用現有的用戶帳戶和角色,我的決策樹也有所不同。

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

回答

1

我結束了事情的結合。首先,在這種情況下,表單身份驗證實際上不起作用,因爲用戶未登錄或憑據不正確時所獲得的重定向。

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

登錄到客戶端時,會提示用戶輸入標識和密碼。我存儲了在代理類中加密的兩個值,並在使用主機頭進行每次調用時透明地傳遞它們,以便應用程序在用戶登錄後不必擔心這種情況,即通過調用Login( )服務方法(只調用Membership.ValidateUser)。

我在服務器端和客戶端都使用CryptoApi。 據我所知,安全應用程序的主機頭已經過時了,但由於我使用了強大的加密和SSL,所以它已經足夠了。

+0

+1通過回答你自己的問題回來和關閉循環+1 – ctacke 2010-05-19 21:03:17

相關問題