【问题标题】:In what scenarios should we enable IIS Authentication if we already have web authentication implemented in our website?如果我们已经在我们的网站中实现了 Web 身份验证,我们应该在什么情况下启用 IIS 身份验证?
【发布时间】:2019-02-09 02:02:31
【问题描述】:

我知道使用身份的 ASP.NET 身份验证。那么,如果我的应用程序已经启用了身份验证,为什么还要在此基础上启用 IIS 身份验证?

另外,如果我都启用了,是否需要用户输入他或她的凭据两次(一次用于应用程序登录,然后用于 IIS 登录)?

【问题讨论】:

    标签: asp.net authentication iis windows-authentication


    【解决方案1】:

    两者完全不同。

    在您的 Web 应用程序中使用 Identity 的 ASP.NET 身份验证用于在您的应用程序中对最终用户进行身份验证和授权。

    IIS 身份验证用于托管应用程序的安全和访问管理。

    如果我们进一步探索为什么需要这样做。最终用户只需要使用用户界面屏幕查看数据和执行操作的权限。

    IIS 用户(用于 IIS 身份验证)可能需要权限来创建架构、在部署代码时像在持续集成 (CI) 中一样修改架构、创建新架构或修改现有架构。

    同样在多层应用中,我们可以选择运行服务(web services, web API, WCF 等)根据最终用户身份验证(如果需要或需要具有更多权限的用户)。

    所有决策都取决于您的架构、需求和安全要求。没有选择适合所有架构需求。我们需要在给定的场景中选择最适合我们需求的方案,并且我们设计的应用程序可以进一步扩展/可扩展以适应更高的负载,并且在长期支持下也更容易维护代码。

    【讨论】:

    • 感谢您如此清楚地列出差异。如果 IIS 启用了身份验证,但网站没有实施任何身份验证,会发生什么?是否会要求最终用户在其浏览器上提供凭据?
    • 在 ASP.net 中,我们可以进行 Windows 身份验证或表单身份验证,在 Windows 中,是的,它会使用警报类型对话框提示登录,这是不同浏览器中不同的 UI。当您将用户名和密码存储在其他地方或使用第 3 方身份验证时,将使用表单身份验证
    • 另外,为了消除任何混淆,当我们希望 Active Directory 用户作为最终用户时,使用 Windows 身份的 ASP.NET 身份验证。当我们想要控制用户创建或用户不是活动目录用户时的表单身份验证
    • 如果答案对您有帮助,您可以投票或接受作为答案。这将帮助其他人寻找相同问题的答案
    • 谢谢普拉纳夫 :)
    猜你喜欢
    • 1970-01-01
    • 2011-09-18
    • 1970-01-01
    • 1970-01-01
    • 2021-03-19
    • 2020-05-19
    • 2019-11-29
    • 2017-04-23
    • 2018-01-25
    相关资源
    最近更新 更多