我们组织的web应用程序主要由拥有Active Directory帐户的用户在内部使用。目前,我们的每个应用程序都在自己的AD帐户下运行。我们将数据访问权限授予数据库端的应用程序AD帐户。
出于审计的原因,我们的DBA想要摆脱这一点。他希望来自应用程序的每个数据请求都带有登录用户的AD凭据,而不是应用程序的AD凭据。我知道这是通过模拟来完成的。这是推荐的做法吗?好处和坏处是什么?有没有更好的方法来做这件事?
谢谢。
发布于 2013-03-28 01:10:39
您可以将以下内容添加到web.config中:
<configuration>
<system.web>
<identity impersonate="true"/>
</system.web>
</configuration>web服务器将“模拟经过身份验证的用户”,您的DBA将看到该用户的网络id。您还可以使用配置文件来模拟特定用户:
<identity impersonate="true" userName="user" password="pwd" />但这并不是您的DBA在这种情况下想要的。
是的,“模拟”听起来可能有点奇怪,但这是在你的内部网络上验证web应用程序用户的一种非常标准的方式。你必须确保你的每个用户都有必要的文件夹权限,等等,来做他们需要做的所有事情,因为web服务器现在是以他们的名义,而不是以一般应用程序用户的名义来做这些事情。当用户尝试做他们以前能够做的事情时,您很快就会听到这些权限问题,但却被拒绝访问。但是,一旦他们每个人都被赋予了必要的权限,事情就会好起来。
https://stackoverflow.com/questions/15663262
复制相似问题