Я делюсь с другими пользователями 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 и не подтверждает подлинность?
Спасибо.