如何在ASP .NET MVC 5.1 Web应用程序中的Entity Framework中使用散列ID,以避免可预测的链接到数据库中的记录

ASP*_*NET 1 c# asp.net-mvc entity-framework asp.net-mvc-5.1

我有模特课:

 public class Person {
        public int Id { get; set; }
  ...
 }
Run Code Online (Sandbox Code Playgroud)

并且要查看有关某人的详细信息,用户可以猜出其ID

http://localhost:17697/Person/Details/2
Run Code Online (Sandbox Code Playgroud)

它们只是连续的整数.

如何告诉实体框架将这些ID改组以使其难以猜测?

Sho*_*hoe 6

如果您不想要可预测的ID,那么您可以使用Guid而不是int."洗牌"会使过程过于复杂,并且不会给你任何保护.

请记住,如果您尝试保护网址,请使用授权和过滤器编写适当的安全性.通过默默无闻的安全实际上并没有任何保障