【发布时间】:2020-11-07 14:44:21
【问题描述】:
我的本地 ASP.Net Core 3.1 Web 应用程序部署在 IIS 上,并且仅启用了 Windows 身份验证。
如何在不弹出凭据提示的情况下将未经身份验证的用户重定向到视图?例如。转到 PublicIndex 不提示用户输入登录详细信息。这可能吗?
我是否需要实现自定义属性/过滤器来拦截如下请求,或者我可以在 Startup.cs 中进行某种路由配置?
// Private page for authenticated users
[RedirectToPublicIndexIfNotAuthenticated]
public async Task<IActionResult> AuthenticatedIndex()
{
return View();
}
// Public page for anonymous users
public async Task<IActionResult> PublicIndex()
{
return View();
}
【问题讨论】:
-
我不认为你可以。就此而言,基本身份验证非常不安全。你想要的是单点登录。您将需要一些 SAML 构造来实现该 f.i.使用 ADFS。
-
未能通过 IIS 端 Windows 身份验证的用户会收到 401.1 错误页面的响应。您可以在 IIS 上对其进行自定义以重定向到您喜欢的页面。
标签: c# asp.net-core iis asp.net-core-3.1