gpt4 book ai didi

c# - 用户很快退出

转载 作者:太空狗 更新时间:2023-10-29 22:36:24 24 4
gpt4 key购买 nike

我正在使用 ASP.NET 身份成员身份。这是 Startup.Auth.cs 代码:

 app.CreatePerOwinContext(EFDbContext.Create);
app.CreatePerOwinContext<ApplicationUserManager>(ApplicationUserManager.Create);
app.CreatePerOwinContext<ApplicationSignInManager>(ApplicationSignInManager.Create);

// Enable the application to use a cookie to store information for the signed in user
// and to use a cookie to temporarily store information about a user logging in with a third party login provider
// Configure the sign in cookie
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
LoginPath = new PathString("/Account/Login"),
ExpireTimeSpan = TimeSpan.FromHours(3),
CookieName = "MyLoginCookie",

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, User>(
validateInterval: TimeSpan.FromMinutes(30),
regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager))

}
});

如您所见,我已将 expiretimespan 设置为 3 小时,但在生产服务器上它不起作用;它在大约十分钟后到期。当我检查元素时,MyLoginCookie 仍然存在。在本地主机上它工作正常。为什么它在生产服务器上有问题?我需要设置 CookieDomain 吗?

最佳答案

用户注销的原因是表单验证数据和 View 状态数据的验证错误。它可能由于不同的原因而发生,包括在托管服务中使用网络场。您应该检查 <machineKey>在你的项目中webconfig .检查here有关详细信息。如果你没有 <machineKey>在你的webconfig ,尝试在<system.web>之后加入这段代码在您的网络配置中:

    <machineKey 
validationKey="AutoGenerate,IsolateApps"
decryptionKey="AutoGenerate,IsolateApps"
validation="HMACSHA256"
decryption="Auto"
/>

另一个选项是在 webconfig 中使用生成的 ASP.NET 机器 key 。有一些在线工具,我推荐的是thisthis .

关于c# - 用户很快退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36262443/

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