在 ASP.NET 应用程序的上下文中工作,我正在创建一个页面,该页面将能够针对我们环境中的许多数据库之一执行数据库脚本。为此,我们需要提示用户输入用户名/密码组合,该值可用于所有服务器而不会出现问题。
问题是存储这些信息的最安全位置在哪里?我们需要暂时存储它,因为当他们在这个特定页面上时,他们可能会在多个回发中执行数百个脚本。据我所知,我有 3 个选项,但我不确定哪个是最好的。以下是我对选项的看法,这里的每个人都有什么建议?什么是最安全的,同时仍然对用户友好?
在 Viewstate 中存储信息
我们讨论的第一个想法是在页面的 ViewState 中由用户提供信息后存储信息。这很有帮助,因为信息只在页面的生命周期内存在,但是,我们不确定安全隐患。
在 Session 中存储信息
我们的下一个想法是将它存储在会话中,但是,这样做的缺点是信息可以提供给应用程序内的其他页面,并且信息总是在服务器的内存中徘徊。
在应用程序中存储信息
我们的最后一个想法是将其存储在应用程序缓存中,并带有用户特定的密钥和 5 分钟的滑动到期时间。这仍然对其他页面可用,但是,它将确保信息在较短的时间内被缓存。
为什么?
最后一个重要的问题是“你为什么要这样做?”。我们为什么不直接使用他们的 Lan id 呢?好吧,由于缺乏对委派的网络支持,我们不能使用 lan id。
S0 推荐的解决方案是什么?为什么?它有多安全,我们能做到吗?
更新
已经讨论了重要的信息。澄清一下,我们在 Intranet 环境中运行,由于网络的限制,我们不能使用模拟或委托。