前言
目前打算做一个新的项目,刚开始,也可以理解为重复造轮子吧,哈哈。
.Net Core3.1+EF Core+Vue+.....
由于之前一直做的企业应用,很多子系统除了权限管理外其实还需要工作流,所以计划是做一个简单的BPM系统。
但是流程引擎这块还没确认怎么处理,拖拉拽设计表单和流程的确实有些困难,也许会考虑直接使用钉钉的接口,这样不用自己实现了...
问题
新的项目计划用IdentityServer4
,刚创建完测试的时候,就是登录不了了。之前IdentityServer4 的单点登录demo项目https://www.cnblogs.com/jellydong/p/13295225.html
,登录也不好使了,一直在登录页,调试了一下返现登录流程也走了,也登录成功了,就是跳转的时候又回到了登录页。知道后来在控制台看到了这个;
解决
问题找到了解决也就简单了,把Cookie策略设置了lax即可
public void ConfigureServices(IServiceCollection services)
{
services.AddControllersWithViews();
// 配置cookie策略
services.Configure<CookiePolicyOptions>(options =>
{
//https://docs.microsoft.com/zh-cn/aspnet/core/security/samesite?view=aspnetcore-3.1&viewFallbackFrom=aspnetcore-3
options.MinimumSameSitePolicy = Microsoft.AspNetCore.Http.SameSiteMode.Lax;
});
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
....
app.UseCookiePolicy();
....
}
当然了,如果本身使用的https
就没这个问题咯。
参考
https://blog.51cto.com/10325527/2519897
https://docs.microsoft.com/zh-cn/aspnet/core/security/samesite?view=aspnetcore-3.1