繁体   English   中英

我应该在asp.net中使用模拟吗?

[英]should I use impersonation in asp.net?

我们的组织拥有Web应用程序,这些Web应用程序主要由拥有Active Directory帐户的用户内部使用。 当前,我们的每个应用程序都以其自己的AD帐户运行。 我们授予对数据库侧应用程序AD帐户的访问权限以进行数据访问。

由于审计的原因,我们的DBA希望摆脱这种情况。 他希望来自应用程序的每个数据请求都带有登录用户的AD凭据,而不是应用程序的AD凭据。 我了解这是通过模拟来完成的。 这是推荐做法吗? 有什么好处和缺点? 有更好的方法吗?

谢谢。

您将以下内容添加到web.config中:

<configuration>
  <system.web>
    <identity impersonate="true"/>
  </system.web>
</configuration>

Web服务器将“模拟经过身份验证的用户”,您的DBA将看到该用户的网络ID。 您还可以使用配置文件来模拟特定用户:

<identity impersonate="true" userName="user" password="pwd" />

但这不是您的DBA在这种情况下想要的。

是的,“假冒”听起来可能很奇怪,但这是在内部网络上验证Web应用程序用户身份的完美标准方法。 您必须确保每个用户都具有必要的文件夹权限等,以执行他们需要做的所有事情,因为Web服务器现在以他们的名义而不是一般应用程序用户的名义来做这些事情。 当用户尝试执行其以前能够执行的操作并获得拒绝访问权限时,您很快就会听到有关这些权限问题的消息。 但是,一旦他们每个人都获得了必要的权限,就可以了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM