gpt4 book ai didi

c# - 使用 CookieAuthentication 的 ASP.NET 5 Identity 3.0 可扩展性

转载 作者:太空宇宙 更新时间:2023-11-03 23:22:50 25 4
gpt4 key购买 nike

我将 ASP.NET 5 与 MVC6 结合使用。我正在使用 Identity 3.0,但我需要知道如何让它与许多网络服务器一起工作。

是否可以将 session 存储在其他地方?数据库?在 MVC5 中,您在 web.config 中执行了该操作,但我在 MVC6 中找不到相关信息。

这是我在 Startup.cs 中的代码

app.UseCookieAuthentication(options =>
{
options.AutomaticAuthenticate = true;
options.LoginPath = new PathString("/Account/Login");
options.AutomaticChallenge = true;
});

谢谢!!

最佳答案

默认情况下,存储在 cookie 中的身份验证票证是独立的:知道加密 key 就足以检索原始票证(此过程不涉及商店或数据库)。

为确保您的身份验证 cookie 可被所有服务器读取,您需要同步它们用于加密和解密身份验证票证的 key 环。这可以使用 UNC 共享来完成,如文档所述:http://docs.asp.net/en/latest/security/data-protection/configuration/overview.html .

public void ConfigureServices(IServiceCollection services) {
services.AddDataProtection();

services.ConfigureDataProtection(options => {
options.PersistKeysToFileSystem(new DirectoryInfo(@"\\server\share\directory\"));
});
}

或者,您也可以提供自己的 TicketDataFormat 来覆盖序列化/加密逻辑,但这绝对不是推荐的方法。

关于c# - 使用 CookieAuthentication 的 ASP.NET 5 Identity 3.0 可扩展性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34793650/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com