我正在构建一个小型应用程序,它将有多个用户使用ASP.NET MVC,但我不知道如何处理下面的场景中的用户授权。我可能会错过一些明显的东西,因为我还在学习,所以任何建议都表示赞赏。控制器动作的多用户授权
基本上,为了说明我的问题,考虑我正在构建一个非常小的邮件,如邮件系统。下面是读取消息的操作:
/Message/ReadMessage/1
凡消息是控制器,ReadMessage的动作和是的MessageId。
现在这条消息是针对“Bob”的,而在数据库中,他的UserId是与消息一起存储的。另一个叫做“Fred”的用户也收到了一条消息,MessageId为2.
在我的应用程序中,没有办法让Bob直接或通过链接在页面上看到Fred的消息(消息应该是私人的给每个用户),那么对于我来说,保护Bob不是简单地将URL中的MessageId手动从1更改为2并查看Fred的消息,最好的办法是什么?
作为当前的解决方案,我有一个非常简单的检查控制器操作的开始,该操作将存储的消息的UserId与当前的UserId进行比较,如果它们不匹配,则将用户重定向到说,他们的收件箱)。
这是适合这种情况的解决方案吗?我感觉到,虽然现在这个问题有效,但这不是解决这个问题的最好方法。谢谢您的帮助。
我目前已经这样做了,所以这很好。感谢你的回答。 – NickK 2013-02-25 10:45:01