【问题标题】:.net core and kestrel - best practices for using IIS as an intermediary for Windows Authentication?.net 核心和红隼 - 使用 IIS 作为 Windows 身份验证中介的最佳实践?
【发布时间】:2018-02-22 16:25:57
【问题描述】:

我有兴趣将我的 .NET MVC 应用程序移植到 .NET core mvc 并使用 kestrel 作为我的网络服务器。

我知道 kestrel 本身不支持 Windows 身份验证,任何人都可以提出使用 IIS 作为 WA 中介的想法吗?

例如,用户点击 IIS 服务器上的页面来检查凭据 -> 页面将带有特定用户/域信息的 AES 加密密钥发送到我的 kestrel 服务器页面以验证身份。也许通过 ajax 调用获取这些信息也可以。

从性能/安全角度来看,这个例子是否合理?

【问题讨论】:

    标签: asp.net-mvc iis .net-core kestrel-http-server


    【解决方案1】:

    我决定继续通过以下方式构建它:

    1) 在启用 Windows 身份验证的 IIS 上构建 Net Core 应用程序,

    2) 通过 URL 将带有用户信息 + 其他信息的 AES 加密字符串传递给我的 kestrel 服务器核心应用程序,

    3) Core Apps解密密钥,检查是否仍然有效,用户信息是否有效。

    4) 将加密字符串传递给临时数据 cookie,然后重新加载不带字符串的 url,这样用户就不会看到任何 URL 垃圾。

    这似乎运作良好,并且用户没有通过任何类型的身份验证字符串的 URL 看到任何指示,因此我现在能够使用独立于 IIS 的任意数量的 kestrel 服务器,仅使用 IIS 进行 Windows 身份验证需要的地方。

    【讨论】:

      【解决方案2】:

      一个更简单的替代方法(尽管经过大量研究以找到专门针对 ASP 核心 2.0 的相关信息)是使用核心 2.0 的内置 HttpSys 方法(因为现在不推荐使用 weblistener)以及 Microsoft.AspNet.Identity.Core。

      https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/httpsys

      【讨论】:

        猜你喜欢
        • 2014-01-23
        • 2013-01-17
        • 2014-06-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-08-26
        • 2011-08-17
        • 1970-01-01
        相关资源
        最近更新 更多