gpt4 book ai didi

c# - 在 Entity Framework 中隐藏密码哈希字段

转载 作者:太空宇宙 更新时间:2023-11-03 11:47:42 25 4
gpt4 key购买 nike

我在一个项目中使用 Entity Framework ,并希望它以与我的普通 ado.net 项目类似的方式运行,我从不从数据库中获取密码哈希以避免 secret 信息的安全泄漏。

我有几个想法

  • 一个是隐藏部分字段类,但我不知道那是不是可能。
  • 更改代码带有丑陋 if 的生成模板该特殊情况的条款

我猜这些解决方案都不能阻止数据离开数据库,只是通过返回 String.Empty 等隐藏字段。有什么方法可以完全不启用该字段,但仍然可以添加新用户或更改忘记密码功能中的哈希值。

最佳答案

您有几个选择:

  1. 您可以从概念层中删除密码属性,EF 不会从数据库中选择它。 (当您在设计器中选择属性时,只需点击“删除”。)
  2. 您可以在您的数据库中创建一个 View 并仅发布密码的哈希值(即虚拟列)。 An earlier question of mine可能会在这里帮助你。
  3. 您可以将生成的实体中的 Password 属性的可访问性设置为非公开。 (同样,选择设计器中的属性并检查其属性。)当然请注意,密码确实使用此选项离开数据库。

对于前两种情况,您需要一个侧 channel 来更新数据库中的密码 - 可能是一个存储过程。第三个选项应该允许更新密码,同时对日常用户隐藏它,当然它会在内存中,所以精明的用户可能仍然可以访问它。

关于c# - 在 Entity Framework 中隐藏密码哈希字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2992761/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com