Как pnet Mvc 5 - общая готовка Owin ie, проверка подлинности не работает на IIS 8.5 - PullRequest
0 голосов
/ 17 апреля 2020

Я делюсь с другими пользователями ie между C# Core 3 и VB. Net Do tnet Framework MVC 5 сайтов.

В IIS EXPRESS все работает отлично, но когда я развертываю его на IIS 8.5 (Windows Server 2012R2), сайты Do tnet Framework MVC 5 не проходят проверку подлинности - сайт Core 3 работает нормально.

Here's my VB.Net Dotnet Framework MVC 5 code:

Imports Microsoft.AspNetCore.DataProtection
Imports Microsoft.Owin
Imports Microsoft.Owin.Security.Cookies
Imports Microsoft.Owin.Security.Interop
Imports Owin


<Assembly: OwinStartupAttribute(GetType(Startup))>

Partial Public Class Startup

    Public Sub Configuration(app As IAppBuilder)
        Dim CompSharedCookiePath As String = ConfigurationManager.AppSettings("CompSharedCookiePath")

        app.UseCookieAuthentication(New CookieAuthenticationOptions() With {
            .AuthenticationType = "Identity.Application",
            .CookieName = ".CompSso.CompSsoSharedCookie",
            .LoginPath = New PathString("/"),
            .Provider = New CookieAuthenticationProvider() With {
                .OnApplyRedirect = Sub(ctx) ApplyRedirect(ctx)
            },
            .TicketDataFormat = New AspNetTicketDataFormat(
                New DataProtectorShim(
                    DataProtectionProvider.Create(New IO.DirectoryInfo(CompSharedCookiePath), Function(options) (options.SetApplicationName("CompSsoSharedCookie"))).CreateProtector(
                        "Microsoft.AspNetCore.Authentication.Cookies." +
                        "CookieAuthenticationMiddleware",
                        "Identity.Application",
                        "v2"))),
            .CookieManager = New ChunkingCookieManager()
        })

        System.Web.Helpers.AntiForgeryConfig.UniqueClaimTypeIdentifier = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name"
    End Sub


    Private Shared Sub ApplyRedirect(context As CookieApplyRedirectContext)
        Dim absoluteUri As Uri = Nothing
        If Uri.TryCreate(context.RedirectUri, UriKind.Absolute, absoluteUri) Then
            Dim path = PathString.FromUriComponent(absoluteUri)
            If path = context.OwinContext.Request.PathBase + context.Options.LoginPath Then
                context.RedirectUri = "/Home/Debug"
            End If
        End If

        context.Response.Redirect(context.RedirectUri)
    End Sub

End Class

IIS 8.5 пул приложений v4 интегрирован.

Microsoft.Owin.Host.SystemWeb развернут.

Сайт имеет доступ к папке shard cook ie.

У меня есть следовал этой инструкции: https://docs.microsoft.com/en-us/aspnet/core/security/cookie-sharing?view=aspnetcore-3.1

Есть идеи, почему он не берет повара ie и не подтверждает подлинность?

Спасибо.

...