来自IIS的AD帐户信息而不是来自web.config
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了来自IIS的AD帐户信息而不是来自web.config相关的知识,希望对你有一定的参考价值。
在我的应用程序中,我使用多个用户名和密码在内部与DB和其他服务连接。这些用户名实际上是Active Directory帐户。但我不想在web.config中包含用户名和密码。
我可以在IIS和ao中设置活动目录,我可以将userid传递给它。反过来,IIS应该与Active目录通信,如果该ID有权连接到数据库/其他服务,则给出结果?
我一直在搜索这个,但我正在研究加密web.config中的密码。如果这是可行的,请建议我。
有很多方法可以做到这一点,但如果你计划不使用集成安全性,最终你需要将它存储在某个地方。
Build/Deploy Server
部署服务器通常具有在将应用程序部署到环境服务器时修改配置文件的机制。
举个例子,我之前使用过Octopus,它会跟踪每个环境的连接字符串,并交换放入正确的连接字符串和凭据。
您可能会看到的问题是它仍然会在计算机上的配置中具有凭据。
Dynamic Connection String
另一种方法是加密连接字符串或仅加密必要的部分并在代码中构建它。我已经看到配置中存储的凭据是加密值,我也看到它们存储在注册表中。一家公司甚至有一个管理一切的中央配置服务器。凭证根本没有存储在服务器上,而是抓取OAUTH令牌并进行调用以获取其配置值。
选项是你的,但关键是你将不再依赖于<connectionStrings />
部分。
Encrypt the Config
我以前用过的鲜为人知的解决方案实际上只是加密配置本身。这在过去运作良好,但我会提出一个小警告,我个人没有对web.config做过。我只将它用于在客户机器/服务器上部署的Windows服务。
https://msdn.microsoft.com/en-us/library/dtkwfdky.aspx
如果您担心人们查看配置文件,您最好的选择可能是将IIS配置为仅加密配置文件。
我个人的意见是:如果您有权访问特定的环境服务器,您可能有权访问尝试加密/混淆的相同数据。如果您担心人们看到配置不应该有访问权限,那么您还有其他更大的问题。
以上是关于来自IIS的AD帐户信息而不是来自web.config的主要内容,如果未能解决你的问题,请参考以下文章
php 你如何确保 $_POST 数据来自你的表单而不是外部影响?
无法在 UWP 应用中获取某些用户帐户信息 - 内部活动目录(不是 Azure AD)
来自同一用户帐户的 LocalServer32 EXE 的 COM 激活是不是共享现有进程?
iis启动 服务无法在此时接受控制信息。 (异常来自 HRESULT:0x80070425)