2011-06-09 86 views
1

我有一個由移動應用程序調用的REST服務;我需要用戶登錄,然後該服務會生成與用戶ID關聯的唯一標記,並將這對userId /標記傳遞給對WS的每個後續調用。 我不太喜歡這個解決方案,因爲即使非常困難,如果我更改uid並獲得正確的令牌,我可以作爲另一個用戶「登錄」,所以我想了解哪個是最佳實踐來處理移動(和非)應用程序的Web服務身份驗證...任何人都可以幫助我嗎?如何在Web服務中實現安全性?

在此先感謝

回答

1

你的問題是不是與方法,但事實上你的服務不檢查UID和令牌的結合,而是令牌。這是一個編程問題,而不是一個方法問題。

如何安全的,你需要的服務是?你在談論最高機密的安全級別嗎?銀行業?我的足球俱樂部網站?對於高級別的安全性,您可以使用數字證書,但它提供了更爲複雜的配置方法。但是...即使你要從UID/Token(或AppId,User等)改變,你仍然需要解決正確的令牌+錯誤的UID工作的事實。如果雙重身份驗證是必須的,那麼這是一個錯誤。如果您在服務器端沒有正確的編程以避免繞過系統,則更改方法將不會解​​決任何問題。

你可能也想看看如何設置令牌。如果這是脫機的,或者是一種可接受的REST註冊方法。這導致您需要的安全級別。

+0

感謝您的回答;我不需要超高安全性,但我需要用戶不會看到其他用戶的數據。 – Cris 2011-06-09 14:02:19

+0

從你的文章中,聽起來像UID/Token認證需要在服務中修復才能完成。 – 2011-06-09 14:24:20

1

你可能想忘記令牌/ ID解決方案和考慮去的SSL /基本身份驗證的路線。 SSL將提供加密和安全通信,但不能保證在服務器端訪問特定的Web服務。 爲此,您可以嘗試每調用標準基本http用戶/密碼驗證。通過這種方式,您不必擔心通過每個REST調用來維護狀態。每次呼叫都會明確提及用戶。是的,您需要重新驗證每次呼叫的用戶身份,這有點痛苦,但您可以緩存結果。然而,我並不是這方面的專家。