微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Razor 页面 Microsoft 身份将在几分钟后注销用户

如何解决Razor 页面 Microsoft 身份将在几分钟后注销用户

我正在开发 Razor 页面应用程序并使用 Microsoft 标识。问题是当我登录并保持不活动状态大约 20-30 分钟时,应用程序会将我注销。不活动是指服务器不活动。例如,我必须填写巨大的表格,我将填写一个小时。但是当我按下保存。它不会保存,它会将我重定向登录页面。但是,如果我在几分钟内填写它,一切都会好起来的。谁能帮我 ?我缺少启动时的某些设置吗? 对不起,如果这是一些微不足道的问题。但是我找不到关于这个问题的任何信息。

启动:

namespace WorkersManager
{
    public class Startup
    {
        public Startup(IConfiguration configuration)
        {
            Configuration = configuration;
        }

        public IConfiguration Configuration { get; }

        public void ConfigureServices(IServiceCollection services)
        {
            services.AddRazorPages();
            services.AddMvc().AddRazorPagesOptions(options =>
            {
                //options.Conventions.AuthorizePage("/Privacy");
                //options.Conventions.Authorizefolder("/Workers");
                options.Conventions.Authorizefolder("/");
            });
            services.AddMvc(options =>
            {
                options.MaxModelBindingCollectionSize = 1500;
            });
            services.Configure<IdentityOptions>(options =>
            {
                // Password settings.
                options.Password.requiredigit = true;
                options.Password.RequireLowercase = true;
                options.Password.RequireNonAlphanumeric = false;
                options.Password.RequireUppercase = false;
                options.Password.requiredLength = 6;
                options.Password.requiredUniqueChars = 1;
                // Lockout settings.
                options.Lockout.DefaultLockoutTimeSpan = TimeSpan.FromDays(1);
                options.Lockout.MaxFailedAccessAttempts = 5;
                options.Lockout.AllowedForNewUsers = true;

                // User settings.
                options.User.AllowedUserNameCharacters =
                "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMnopQRSTUVWXYZ0123456789-._@+";
                options.User.RequireUniqueEmail = false;
            });
            services.Configure<FormOptions>(options =>
            {
                options.ValueCountLimit = 8000; // 200 items max
                //options.ValueLengthLimit = 1024 * 1024 * 100; // 100MB max len form data

            });
            services.ConfigureApplicationCookie(options =>
            {
                // Cookie settings
                options.Cookie.HttpOnly = true;
                options.ExpireTimeSpan = TimeSpan.FromDays(1);
                options.LoginPath = "/Identity/Account/Login";
                options.AccessDeniedpath = "/Identity/Account/AccessDenied";
                options.ExpireTimeSpan = TimeSpan.FromHours(10);
                options.SlidingExpiration = true;
            });
            services.AddAuthorization(options =>
            {
                options.AddPolicy("RequireAdministratorRole",policy => policy.RequireRole("Administrator"));
                options.AddPolicy("RequireUserRole",policy => policy.RequireRole("User"));


            });
            services.AddDbContext<IdentityContext>(options =>////WorkersManagerrContext
                options.UsesqlServer(Configuration.GetConnectionString("WorkersManagerrContext")));
            //services.AddDefaultIdentity<IdentityUser>().AddRoles<IdentityRole>()
            //        .AddEntityFrameworkStores<IdentityContext>();

            services.AddHttpContextAccessor();
            services.Configure<SecurityStampValidatorOptions>(options => options.ValidationInterval = TimeSpan.FromHours(10));

        }

        public void Configure(IApplicationBuilder app,IWebHostEnvironment env,IServiceProvider serviceProvider)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
                app.UseDatabaseErrorPage();
            }
            else
            {
                app.UseExceptionHandler("/Error");
                // The default HSTS value is 30 days. You may want to change this for production scenarios,see https://aka.ms/aspnetcore-hsts.
                app.UseHsts();
            }

            app.UseHttpsRedirection();





            app.UseStaticFiles();

            app.UseRouting();

            app.UseAuthentication();
            app.UseAuthorization();

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapRazorPages();

            });

        }
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。