Ich benutze CookieAuthentication in meiner Anwendung mit owin und URL umleiten setzen auf OnApplyRedirect
wie dem folgenden Code:Owin: OnApplyRedirect mehrfach aufgerufen und erstellen eine falsche RedirectUri
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
ExpireTimeSpan = TimeSpan.FromDays(30),
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
LoginPath = new PathString("/account/sign-in"),
//LogoutPath = new PathString("/account/log-out"),
ReturnUrlParameter = "returnTo",
CookieName = "BIR",
Provider = new CookieAuthenticationProvider()
{
OnValidateIdentity = SmObjectFactory.Container.GetInstance<IAppUserManager>().OnValidateIdentity(),
OnApplyRedirect = c =>
{
if (!c.Request.IsAjaxCall())
{
c.Response.Redirect(c.RedirectUri);
}
}
}
});
mein Problem ist c.RedirectUri
Wert, i gesetzt Pause zeigen und verfolgen Sie meinen Code nach dies verstehe ich, dass OnApplyRedirect
genannt mehrere Male.
im ersten Aufruf RedirectUri
ist:
http://localhost:7537/account/sign-in?returnTo=%2Fadmin-panel
Im zweiten Aufruf RedirectUri
ist:
http://localhost:7537/account/sign-in?returnTo=%2Faccount%2Fsign-in%3FreturnTo%3D%252Fadmin-panel
und mehr ...
In Pre-Call alte URL neue URL hinzufügen. Ich versuche, dieses Problem zu lösen, suchen und recherchieren in einer anderen und aktuellen Website, aber keine Antwort finden, warum OnApplyRedirect
mehrere Male anrufen? Configuration
Methode in Startup.cs
Klasse Nur einmal aufgerufen wird. andere Details:
- Owin Version: 3.1.0
- ASP.NET MVC Version: 5.x
Visual Studio Version: 2017 (15,2)
Nur um sicherzustellen, dass '/ account/sign-in' keine Authentifizierung erfordert. , d.h. es ist mit '[AllowAnonymous]' dekoriert – Albert