• asp.net core session无法获取问题解决方案


    在使用asp.net core 的session存取验证码时,发现后面获取不到,参考别的把services.Configure<CookiePolicyOptions>注释掉就可以了,cnm microsoft。microsoft经常变,无语!!!

    https://blog.csdn.net/yenange/article/details/80954802

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Threading.Tasks;
    using Microsoft.AspNetCore.Builder;
    using Microsoft.AspNetCore.Hosting;
    using Microsoft.AspNetCore.Http;
    using Microsoft.AspNetCore.Mvc;
    using Microsoft.Extensions.Configuration;
    using Microsoft.Extensions.DependencyInjection;
    using Microsoft.EntityFrameworkCore;
    using LJCMS.Models;
    using UEditor.Core;
    using Microsoft.Extensions.FileProviders;
    using System.IO;
    
    namespace LJCMS
    {
        public class Startup
        {
            public Startup(IConfiguration configuration)
            {
                Configuration = configuration;
            }
    
            public IConfiguration Configuration { get; }
    
            // This method gets called by the runtime. Use this method to add services to the container.
            public void ConfigureServices(IServiceCollection services)
            {
                
    
                //services.Configure<CookiePolicyOptions>(options =>
                //{
                //    // This lambda determines whether user consent for non-essential cookies is needed for a given request.
                //    options.CheckConsentNeeded = context => false;
                //    options.MinimumSameSitePolicy = SameSiteMode.None;
                //});
    
                // 使用ueditor
                services.AddUEditorService();
    
                //使用asp.net core 会话功能
                services.AddDistributedMemoryCache();
    
                services.AddSession(options =>
                {
                    // Set a short timeout for easy testing.
                    options.IdleTimeout = TimeSpan.FromSeconds(100);
                    options.Cookie.HttpOnly = true;
                    // Make the session cookie essential
                    options.Cookie.IsEssential = true;
                });
    
                services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
    
                services.AddDbContext<LJCMSContext>(options =>
                        options.UseSqlite(Configuration.GetConnectionString("LJCMSContext2")));
            }
    
            // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
            public void Configure(IApplicationBuilder app, IHostingEnvironment env)
            {
                if (env.IsDevelopment())
                {
                    app.UseDeveloperExceptionPage();
                }
                else
                {
                    app.UseExceptionHandler("/Home/Error");
                }
                
                app.UseStaticFiles(new StaticFileOptions
                {
                    FileProvider = new PhysicalFileProvider(Path.Combine(Directory.GetCurrentDirectory(), "upload")),
                    RequestPath = "/upload",
                    OnPrepareResponse = ctx =>
                    {
                        ctx.Context.Response.Headers.Append("Cache-Control", "public,max-age=36000");
                    }
                });
                app.UseStaticFiles();
                app.UseSession();
                //app.UseCookiePolicy();
                app.UseAuthentication();
                app.UseMvc(routes =>
                {
                    routes.MapRoute(
                        name: "areas",
                        template: "{area:exists}/{controller=Home}/{action=Index}/{id?}"
                      );
    
                    routes.MapRoute(
                        name: "default",
                        template: "{controller=Home}/{action=Index}/{id?}"
                        );
                    
                });
            }
        }
    }
    
  • 相关阅读:
    20145330 《网络攻防》 后门原理与实践
    20145330 《网络对抗》PC平台逆向破解:注入shellcode 和 Return-to-libc 攻击实验
    移动攻击实践
    安卓权限参考
    20145329 《网络对抗技术》Web安全基础实践
    20145329 《网络对抗技术》Web基础
    20145329 《网络对抗技术》网络欺诈技术防范
    20145329 《网络对抗技术》信息搜集与漏洞扫描
    20145329 《网络对抗技术》MSF基础应用
    20145329 《网络对抗技术》辅助模块使用
  • 原文地址:https://www.cnblogs.com/AlexanderZhao/p/12878862.html
Copyright © 2020-2023  润新知