Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 隐藏用于模拟的密码_Asp.net_Vb.net - Fatal编程技术网

Asp.net 隐藏用于模拟的密码

Asp.net 隐藏用于模拟的密码,asp.net,vb.net,Asp.net,Vb.net,以下网页介绍如何在代码中使用模拟(ASP.NET):。我正在考虑为代码创建一个类,然后应用程序可以调用impersonateValidUser和undoimpersonation 我担心在我的代码中加入用户名和密码,因为任何人都可以使用ILDASM这样的工具看到它们。隐藏这些密码的最佳方法是什么 这篇文章有一个标题为:模拟经过IIS身份验证的帐户或用户的部分。我曾考虑在Web.Config中创建一个模拟用户,但这意味着整个应用程序将作为inpersonated用户运行。当需要访问和更新activ

以下网页介绍如何在代码中使用模拟(ASP.NET):。我正在考虑为代码创建一个类,然后应用程序可以调用impersonateValidUser和undoimpersonation

我担心在我的代码中加入用户名和密码,因为任何人都可以使用ILDASM这样的工具看到它们。隐藏这些密码的最佳方法是什么


这篇文章有一个标题为:模拟经过IIS身份验证的帐户或用户的部分。我曾考虑在Web.Config中创建一个模拟用户,但这意味着整个应用程序将作为inpersonated用户运行。当需要访问和更新active directory时,我只希望应用程序的一小部分以模拟用户的身份运行。

我非常喜欢您的意图,即只让应用程序中执行广告更新的部分在高度特权的帐户下运行。我也和你一样担心在web.config或代码中存储密码

我可以为你想出两个选择

  • 将帐户详细信息存储在web.config和web.config的该部分中。这将确保只有web服务器的管理员才能获得密码。其他获得web.config的人对密码一无所知

  • 使用AD更新代码创建一个单独的小型WCF服务。然后在单独的应用程序池中运行该WCF服务,并将应用程序池设置为有权访问active directory的用户的标识。为WCF设置受限的、仅本地主机的终结点。WCF服务应具有访问控制,仅允许从专用帐户进行访问。该帐户应设置为主网站的应用程序池的标识


  • 选项1更容易实现,并且可以很好地保护密码。选项2为密码提供了更好的保护,因为它们根本不存储在web.config中-它们是IIS配置的一部分。选项2还添加了特权代码和系统其余部分之间的完全隔离,因为它在单独的进程中运行AD更新代码。通过这种隔离,可以更轻松地对AD代码进行代码检查,以检查安全问题。

    谢谢。ASP.NET应用程序以annomynous用户身份运行。当前有一个WCF web服务正在使用Windows身份验证运行。我想我可以创建第二个WCF web服务,作为具有管理员权限的用户运行。您是否认为拥有两个web服务(一个用于管理员用户,另一个用于当前登录的用户)是一种不好的做法?我建议您将ASP.NET应用程序池更改为以专用用户身份运行-网站的身份验证模式仍然是匿名的。我看不出两个WCF服务有任何负面影响。我明白了。该应用程序目前以网络服务的形式运行,我希望就此放弃。最好有一个web服务,但它需要两个权限。另一个选项(选项3)是让计划任务作为批处理每天晚上运行,并授予计划任务管理员权限。与您的两个选项相比,您对选项三的看法如何?如果您的需求可以通过夜间批次得到满足,这很好,但您将失去向用户报告错误的可能性。我从不使用批次,除非这是唯一的可能性。我同意。还有一个问题。您是否认为拥有多个未组合的web服务是不好的做法;只是因为它们在不同的用户上下文中运行,即作为用户登录,另一个作为管理员用户?