我正在使用一个将数据保存在 sql server 数据库中的 asp.net mvc 应用程序。它有一个客户表,显然将客户存储在系统上。客户的 id 是一个身份列,其中包含客户的唯一标识符,每个新记录都会自动递增 1。
对于 mvc 应用程序中的某些控制器操作,包括客户 ID。我理解在获取请求中,这会产生一个安全漏洞。它使外部机构能够获得有关数据库结构等的知识。
在控制器操作中从使用客户 ID 更改为另一个更模糊的字段会造成很大的困难。有没有其他方法可以安全地暴露 id?我正在考虑将 id 映射到另一个 id 并将其存储在 session 中,公开这个替代 id 但不幸的是 session 存储对我不可用。在某些情况下,暴露的 id 可能需要在用户会话之后维护。我看到的另一种方法是将标识列上的种子增加到 1 以外的数字,比如说随机数 88。这意味着暴露的 id 对外部用户的意义较小。
对以上内容有什么想法或建议吗?