2013-02-22 23 views
0

我正在構建一個小型應用程序,它將有多個用戶使用ASP.NET MVC,但我不知道如何處理下面的場景中的用戶授權。我可能會錯過一些明顯的東西,因爲我還在學習,所以任何建議都表示讚賞。控制器動作的多用戶授權

基本上,爲了說明我的問題,考慮我正在構建一個非常小的郵件,如郵件系統。下面是讀取消息的操作:

/Message/ReadMessage/1 

消息是控制器,ReadMessage的動作和是的MessageId。

現在這條消息是針對「Bob」的,而在數據庫中,他的UserId是與消息一起存儲的。另一個叫做「Fred」的用戶也收到了一條消息,MessageId爲2.

在我的應用程序中,沒有辦法讓Bob直接或通過鏈接在頁面上看到Fred的消息(消息應該是私人的給每個用戶),那麼對於我來說,保護Bob不是簡單地將URL中的MessageId手動從1更改爲2並查看Fred的消息,最好的辦法是什麼?

作爲當前的解決方案,我有一個非常簡單的檢查控制器操作的開始,該操作將存儲的消息的UserId與當前的UserId進行比較,如果它們不匹配,則將用戶重定向到說,他們的收件箱)。

這是適合這種情況的解決方案嗎?我感覺到,雖然現在這個問題有效,但這不是解決這個問題的最好方法。謝謝您的幫助。

回答

0

您的控制器需要檢查當前用戶是否被允許訪問資源(本例中爲消息)

+0

我目前已經這樣做了,所以這很好。感謝你的回答。 – NickK 2013-02-25 10:45:01