【问题标题】:Identity pool in IIS7IIS7 中的身份池
【发布时间】:2010-08-16 03:19:30
【问题描述】:

我有一个托管在 IIS7 中的 Web 应用程序,并且我已将 appPool 设置为以管理员身份运行。现在,如果用户登录(表单身份验证),IIS 将使用管理员帐户(在 appPool 中)访问数据库,但是如果用户未登录,则 IIS 将使用导致错误的“NT AUTHORITY\IUSR”帐户: 用户“NT AUTHORITY\IUSR”登录失败。

谁能解释一下为什么在用户没有登录时它没有使用管理员帐户?

【问题讨论】:

    标签: asp.net iis


    【解决方案1】:

    我无法验证你所说的是否正确,但我可以告诉你应该怎么做。

    1) AppPool 用户应该拥有尽可能少的权限,当然不是管理员权限。除非您真的知道自己在做什么,否则最好将 AppPool 用户留给默认的 NETWORK SERVICE。

    2) 您应该在您的数据库上创建一个用户,再次使用最少需要的权限,并在您的 web.config 的 ConnectionString 中使用该用户。

    【讨论】:

    • 是的...这仅用于测试..在发布阶段将为appPool创建一个具有有限权限的专用Windows帐户..现在的问题是IIS在什么情况下使用appPool身份而不是(使用'NT AUTHORITY\IUSR')?
    • 据我所知,AppPool 用户运行您应用程序的所有工作进程。登录与否。我认为您需要寻找其他地方。您是否在 web.config 中使用模拟?
    • 我会这么认为.. 但我已经运行了 sql profiler。第一次访问应用程序时(没有用户验证),它使用“NT AUTHORITY\IUSR”帐户,当用户登录时,它使用应用程序池中的身份..
    猜你喜欢
    • 1970-01-01
    • 2012-09-26
    • 2021-06-08
    • 2012-09-13
    • 2021-05-08
    • 2012-03-05
    • 1970-01-01
    • 1970-01-01
    • 2018-02-11
    相关资源
    最近更新 更多