gpt4 book ai didi

iis - 身份服务器 4 Windows 身份验证

转载 作者:行者123 更新时间:2023-12-02 02:54:32 28 4
gpt4 key购买 nike

我结合了这三个资源来开始使用 Identity Server 4。

  • IdentityServer4.Quickstart.UI
  • 4_ImplicitFlowAuthenticationWithExternal
  • Combined_AspNetIdentity_and_EntityFrameworkStorage

  • 这三者的组合用于将用户存储在数据库中,甚至来自外部供应商。还存储 Identity Server 4 配置,例如声明、角色、客户端和资源。我现在的主要问题是在 IIS Express 中运行时 Windows 身份验证按预期工作。一旦我在本地机器上发布到完整的 IIS 服务器,当我点击 Windows 外部登录页面时,我会得到一个重复的登录弹出窗口。在 IIS Express 中运行 Identity Server 4 时,我没有看到该弹出窗口。在 IIS Express 中,我可以单击 Windows 外部身份验证按钮。它通过应用程序正确路由并成功完成登录。

    任何和所有的帮助都受到高度赞赏。我试图包含尽可能多的复制步骤,所以如果有任何不清楚的地方,请告诉我。

    重复登录弹出窗口:

    enter image description here

    IIS 设置为启用了 Windows 身份验证和匿名身份验证。

    enter image description here

    Setup.CS(ConfigureServices 方法)
    public void ConfigureServices(IServiceCollection services) {
    // Windows authentication is supported only by hosting Kestrel (Asp.net Core Web Server inside iis as a reverse proxy)
    // It is different than other Authentication methods because you don't Add the Authentication middleware like above.
    services.Configure<IISOptions>(options => {
    options.AuthenticationDisplayName = "Windows";
    options.AutomaticAuthentication = true;
    });

    services.AddMvc();

    程序.cs
    public static IWebHost BuildWebHost(string[] args) =>
    WebHost.CreateDefaultBuilder(args)
    .UseKestrel()
    .UseContentRoot(Directory.GetCurrentDirectory())
    .UseIISIntegration()
    .UseStartup<Startup>()
    .Build();

    最佳答案

    幸运的是我自己回答了这个问题。这实际上不是软件开发人员的问题,而是环境配置问题。由于应用程序是在本地部署的,因此本地环回检查导致了该问题。
    https://support.microsoft.com/en-us/help/896861/you-receive-error-401-1-when-you-browse-a-web-site-that-uses-integrate

    关于iis - 身份服务器 4 Windows 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50255110/

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