【发布时间】:2020-09-14 21:39:26
【问题描述】:
有没有办法使用依赖注入来配置 cookie 身份验证选项?我想从数据库中获取一些设置,但此时我无法访问 DatabaseContext。
public void ConfigureServices(IServiceCollection services)
{
...
services
.AddAuthentication(Authentication.scheme)
.AddCookie(Authentication.scheme, options =>
{
options.ExpireTimeSpan = new TimeSpan(30, 0, 0, 0, 0);
options.Cookie.IsEssential = true;
options.Cookie.Name = ".AUTH-Cookie";
options.ReturnUrlParameter = "returnUrl";
options.LoginPath = "/Security/SignIn";
options.LogoutPath = "/Security/SignOut";
options.EventsType = typeof(CookieAuthenticationEvents);
});
...
}
我可以使用 AddOptions() 和 Configure() 来处理 ConfigureServices 中的其他项目,但我不知道如何使用 CookieAuthenticationOptions...
services
.AddOptions<MvcOptions>()
.Configure<IDisplayMetadataProvider>((options, localizationMetadataProvider) =>
{
options.ModelMetadataDetailsProviders.Add(localizationMetadataProvider);
});
我尝试用 CookieAuthenticationOptions 做同样的事情,但它的工作方式似乎不同......
【问题讨论】:
标签: asp.net-mvc asp.net-core dependency-injection