显示主键是一种危险

Cra*_*aig 4 url asp.net-mvc

当我从我视图中的帐户列表中选择一个帐户时,该URL显示如下内容:

http://example.com/BankAccount/EditBankAccount?bankAccountId=12

有没有办法隐藏主键,因为北方阻止某人编辑URL中的ID并发布它,以获得一个不同的帐户.

我可以添加代码以查看当前用户是否可以查看此帐户,但有更好的方法吗?

Dar*_*rov 6

没有必要隐藏网址中的密钥.例如,您是否在StackOverflow上查看了网址?你到处都是PK.否则,您将如何理解当前用户尝试编辑哪个银行帐户?

您应该做的是编写一个授权过滤器,以确保URL中提供的ID实际上是属于当前经过身份验证的用户的帐户.我已经说明了如何实现这样的授权过滤器this similar thread.