0

ASP.NET MVC を使用して複数のユーザーを持つ小さなアプリケーションを構築していますが、以下のシナリオでユーザー認証を処理する方法がわかりません。私はまだ学んでいるので、何か明らかなことを見逃しているかもしれませんので、アドバイスをいただければ幸いです。

基本的に、私の問題を説明するために、メッセージング システムのような非常に小さな電子メールを構築していると考えてください。メッセージを読むアクションは次のとおりです。

/Message/ReadMessage/1

ここで、 Messageはコントローラー、ReadMessageはアクション、1は MessageId です。

これで、このメッセージは「Bob」に対するものになり、db には彼の UserId がメッセージとともに保存されます。「Fred」という別のユーザーもメッセージを受信して​​おり、この MessageId は 2 です。

私のアプリケーションでは、Bob が Fred のメッセージをページ上で直接またはリンクを介して表示する方法はありません (メッセージは各ユーザーに非公開にする必要があります)。 URL を手動で 1 から 2 に変更し、Fred のメッセージを表示しますか?

これに対する現在の解決策として、メッセージと共に保存されている UserId を現在の UserId と比較するコントローラー アクションの最初に非常に簡単なチェックを行い、それらが一致しない場合、ユーザーはリダイレクトされます (つまり、受信トレイ)。

これはそのようなシナリオに適したソリューションですか? これは現在は機能していますが、この問題に対する最善のアプローチではないと感じています。助けてくれてありがとう。

4

1 に答える 1

0

コントローラーは、現在のユーザーがリソースへのアクセスを許可されていることを確認する必要があります (この場合はメッセージ)。

于 2013-02-22T10:48:43.470 に答える