【问题标题】:Windows Authentication with Network Service/ ApplicationPoolIdentity when is user Identity used?何时使用网络服务/ApplicationPoolIdentity 的 Windows 身份验证?
【发布时间】:2017-12-11 18:24:11
【问题描述】:

参考以下链接:

https://docs.microsoft.com/en-us/iis/manage/configuring-security/application-pool-identities

我试图更好地了解何时使用网络服务标识与服务器上的用户标识来访问文件。或者,如果甚至根本使用了用户身份。我最初的理解是,使用 Windows 身份验证,应用程序将使用经过身份验证的用户的权限来访问应用程序目录以及用户有权访问的其他目录。

在 IIS 7.0 中设置我的应用程序时,我发现当应用程序池标识设置为使用 ApplicationPoolIdentity 时,它依赖于在访问时授予此虚拟帐户的权限。

应用程序何时会依赖应用程序池/网络身份与用户身份(如果有的话)。

我正在使用 ASP.NET MVC4

【问题讨论】:

    标签: c# asp.net-mvc asp.net-mvc-4 iis


    【解决方案1】:

    对于 asp.net,默认身份 IIS 将使用应用程序池身份。它来自您设置的应用程序池身份here

    您可以使用“启用 ASP.NET 模拟”覆盖此设置

    编辑: - 更详细的版本。

    默认情况下,您的 asp.net 代码以应用程序池的身份运行,但静态文件(html、js、css 等)将使用身份验证设置中的用户凭据。

    • 如果您使用匿名身份验证,asp.net 代码将在应用程序池标识下运行,静态文件将使用来自此处的 IUSR 设置

    • 如果您使用 Windows 身份验证,则 asp.net 仍将使用应用程序池标识,静态文件将使用传入登录用户的凭据。

    • 您可以随时更改 Asp.net 模拟以使用传入用户凭据(匿名或 Windows 或基本身份验证)。

    基本上,asp.net 将使用正在运行的进程(w3wp.exe 身份),即应用程序池身份。

    希望它清除!

    【讨论】:

    • 啊,好吧,所以除非您专门覆盖它并使用模拟,否则系统将不会使用用户的身份来获取权限,而只会使用应用程序池身份或网络服务(如果设置为这个)来跑下?用户身份更常用于应用程序内的访问(例如特定功能或菜单项)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多