在asp.net 5 +(asp.net identity 3.0)中我试图重命名cookie,看看我是否可以设置默认的注销值。
public void Configure(IApplicationBuilder app,IHostingEnvironment env,ILoggerFactory loggerFactory)
{
app.UseIdentity();
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
CookieName = "MyCookie",
ExpireTimeSpan = TimeSpan.FromMinutes(1.0),
});
}
Cookie名称未重命名为MyCookie,ExpireTimeSpan = TimeSpan.FromMinutes(1.0)不是" 1分钟后退出我或者设置。我确实被重定向到
答案 0 :(得分:0)
尝试在CookieAuthenticationOptions
:
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
CookieName = "MyCookie",
ExpireTimeSpan = TimeSpan.FromMinutes(1.0),
Provider = new CookieAuthenticationProvider
{
OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager, ApplicationUser>(
TimeSpan.FromMinutes(1.0),
(manager, user) => user.GenerateUserIdentityAsync(manager, user))
}
});
正如我在Identity 2.0中看到的那样,配置与3.0相同,这些都是一个有效的例子。您需要提供Identity
提供商设置
答案 1 :(得分:0)
事实证明你必须使用
public void ConfigureServices(IServiceCollection services)
{
services.AddIdentity<ApplicationUser, ApplicationRole>(
options => {
options.Cookies.ApplicationCookieAuthenticationScheme = "MyCookie";
options.Cookies.ApplicationCookie.AuthenticationScheme = IdentityCookieOptions.ApplicationCookieAuthenticationType = "MyCookie";
options.Cookies.ApplicationCookie.ExpireTimeSpan = TimeSpan.FromSeconds(30.0);
options.Cookies.ApplicationCookie.CookieName = "MyCookie";
})
}
我使用的是IApplicationBuilder应用
app.UseIdentity().UseCookieAuthentication(
new CookieAuthenticationOptions
{
... ect
所以基本上使用IServiceCollection AddIdentity解决了我的问题。