gpt4 book ai didi

authentication - 使用 Azure AD 身份验证的 IIS 身份验证设置

转载 作者:行者123 更新时间:2023-12-05 07:04:02 25 4
gpt4 key购买 nike

我有一个在 Windows Server 2016 上的 IIS 10 下运行的本地 ASP.Net Core Web API 应用程序。以前,这是使用 Windows 身份验证来保护的,但现在已经转换为用户可以通过 Azure AD 进行身份验证。因此,身份验证现在完全由应用程序本身处理。

我不确定我现在应该使用哪个 IIS 身份验证设置。在 IIS 中,如果我启用 Windows 身份验证,则会向用户显示一个请求用户名和密码的对话框,这显然不是必需的,因为登录是通过标准的 Microsoft 在线页面处理的。因此,我禁用了 Windows 身份验证并启用了匿名身份验证,认为这是将身份验证责任从 IIS 传递给应用程序的正确方法。

这可行,但我担心启用匿名身份验证可能会带来安全风险。

有没有人能就使用 Azure AD 时正确的 IIS 配置提出建议?请注意,该网站不面向公众,它是我组织的内部网站。

编辑:澄清我对 Lex Li 提出的以下几点的看法......

  1. 我对 IIS 匿名身份验证的理解是,它用于允许未经身份验证的用户访问网站上的部分或所有页面。我不希望这样——我网站上的所有页面都需要身份验证。我使用 Authorize 属性来实现此目的,并使用通过 MSAL 生成的 token 。
  2. 我不会说我知道匿名身份验证是让应用程序而不是 IIS 进行身份验证的正确方法。这是一个“我试过了,它似乎有效”的案例。阅读所有回复后,我很高兴这确实是正确的方法。

最佳答案

由于身份验证现在都在应用程序中,如果应用程序编写得当,它将保护所有信息。您的设置是正确的设置。向 AAD 进行身份验证时,IIS 必须设置为允许匿名。

使用 msal/adal 库或您自己的 API 端点应实现检查以确保来自用户的 token 是有效 token 。今天,绝大多数网站和几乎所有 API 都使用这种方法进行保护,api 端点以 token 作为身份验证,并且是当今世界公认的标准。他们基本上都有“允许匿名”/linux 等价物。

关于authentication - 使用 Azure AD 身份验证的 IIS 身份验证设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63017858/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com