【问题标题】:WindowsIdentity.GetCurrent() vs Request.LogonUserIdentity?WindowsIdentity.GetCurrent() 与 Request.LogonUserIdentity?
【发布时间】:2012-04-03 06:13:19
【问题描述】:

我试图了解在此处分配权限之间的区别:

vs

通过模拟分配:

1) 我听说模拟用于访问资源而不是运行 exe 进程

我试图运行一个只模拟我的用户的 EXE 进程,但 NO 成功。

后来我将用户设置为应用程序池标识-(这里的第一张图片)然后我能够运行 exe 文件。

  • 这两者的工作区别是什么?

  • 如果我只设置应用程序池身份(而不是模拟) - 它是否能够访问具有特殊权限的外部资源?

【问题讨论】:

    标签: asp.net iis impersonation application-pool applicationpoolidentity


    【解决方案1】:

    我认为您误解/混淆了 Pool IdentityImpersonate Identity

    的定义
    • Pool Identity 是用于启动 Web 应用程序的身份 IIS。因此,您的 Web 应用程序将作为该用户拥有对您系统的所有访问权限。

    例如如果您将 Pool Identity 设置为低权限用户,您会发现您的 Web 应用程序无法访问系统上的文件;但如果您将池身份设置为 Administrator,您的 Web 应用程序可以访问系统上的所有内容,甚至可以重新启动计算机。 是的,你的安全被搞砸了:P

    • 模拟身份 是您的 Web 应用程序认为发出请求的身份。更具体地说,当您使用WindowsIdentity.GetCurrent 获取当前用户身份时。如果您设置了模拟,您将获得固定的用户身份。如果您禁用模拟,它将是用户的身份。 这在 Windows 域中通常很有帮助。

    PS:

    hmmm...这两个身份不相关。所以你不应该让他们打架:)

    让我们试试这个:Pool Identity 对你的父母来说就像你的 ID。他们知道你是谁,你多大了,你不能说谎; 冒充身份就像你的身份证,如果你得到一张假身份证,你可以去21岁以下的酒吧喝醉xD

    【讨论】:

    • 那么如果poolidentity是王子但冒充是国王用户,谁会赢?
    猜你喜欢
    • 2015-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-20
    • 2019-01-02
    • 1970-01-01
    相关资源
    最近更新 更多