Ich verwende Cookie-Authentifizierung mit OWIN in einem .NET MVC 4.5-Setup. Ich habe die Cookie-Authentifizierungskonfiguration in Startup.Auth.cs (Code unten) eingerichtet und möchte auf den LoginPath zugreifen, den ich in CookieAuthenticationOptions in einem Controller festgelegt habe. Wenn sich mein LoginPath aus irgendeinem Grund ändert, muss ich nur ändern es an einem Ort. Suchen Sie also nach etwas wie Zugriff konfiguriert CookieAuthenticationOptions.LoginPath außerhalb von Startup.Auth.cs
context.GetCookieAuthenticationOptions().LoginPath
Gibt es eine Möglichkeit, auf die CookieAuthenticationOptions außerhalb von Startup.Auth.cs zuzugreifen, oder ist meine einzige Option hier, etwas wie das Hinzufügen einer appSetting in Web.config zu tun und diese stattdessen zu verwenden?
Startup.Auth.cs Code, ich möchte auf LoginPath außerhalb dieser Datei zugreifen.
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
LoginPath = new PathString("Login"),
SlidingExpiration = true,
ExpireTimeSpan = _expirationTimeSpan,
Provider = new CookieAuthenticationProvider
{
// Enables the application to validate the security stamp when the user logs in.
// This is a security feature which is used when you change a password or add an external login to your account.
OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager, ApplicationUser>(
validateInterval: TimeSpan.FromMinutes(30),
regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager, DefaultAuthenticationTypes.ApplicationCookie))
},
});
Ich bin auch daran interessiert, wie Sie dies in .NET Core tun, wenn es sich geändert hat. Ich habe das Kopfgeld hinzugefügt, um das herauszufinden. –
@ScottChamberlain warum haben Sie nicht einfach den Pfad als eine Option, die an den Startup übergeben/injiziert wird, die auch extern über die gleiche Klasse/Service zugänglich ist. Oder vereinfache ich mein Verständnis davon, auf was Sie zugreifen möchten. – Nkosi
@ScottChamberlain das oder die 'CookieAuthenticationOptions' in einer Factory eingebettet haben, die Ihnen Zugriff auf die Instanz gewährt, die an die Middleware übergeben wurde. – Nkosi