ABP 实战注意事项

问题:

描述:ABP使用Nginx代理导致租户ID(Abp.TenantId)丢失,自定义header无效无法传递,导致租户选择认证失败。原因是因为 Nginx 过滤是“.”这符号。

解决:

1,先从代码人手,在代码前端所有地方:Abp.TenantId 的地方,添加 :'Abp-TenantId': abp.multiTenancy.getTenantIdCookie(),为什么是添加而不是修改呢?因为要兼容 不用代理的情况。

2,在反向代理配置里面添加一段代码:proxy_set_header Abp.TenantId $http_abp_tenantid;


问题描述:数据库迁移问题,开发环境直接运行命令迁移,可是生产环境就不太方便运行命令,特别是如果使用jenkins+docker部署的话如果在手动就感觉不方便。

解决办法:在Web.MVC或Host的启动模块里面的初始化里面添一行代码:scope.Resolve<AbpZeroDbMigrator>().CreateOrMigrateForHost(SeedHelper.SeedHostDb);

这意思就是每次应用服务启动的时候去检查迁移一下数据库,类似于同于执行:Update-Migrator,这样的话我们就不需要担心正式环境下数据结构不同步的问题了,不过这里要注意的是,如果迁移问题生成的时候有问题,可能导致数据丢失,所以每次发布的时候要检查迁移文件。

样例:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 5,453评论 0 9
  • feisky云计算、虚拟化与Linux技术笔记posts - 1014, comments - 298, trac...
    不排版阅读 3,938评论 0 5
  • 教程:https://www.yiibai.com/jenkins/ 本节内容: Jenkins介绍 安装部署Je...
    达微阅读 9,032评论 2 77
  • 背景: 阅读新闻 12C CDB模式下RMAN备份与恢复 [日期:2016-11-29] 来源:Linux社区 作...
    阳屯okyepd阅读 3,621评论 0 7
  • 专业考题类型管理运行工作负责人一般作业考题内容选项A选项B选项C选项D选项E选项F正确答案 变电单选GYSZ本规程...
    小白兔去钓鱼阅读 9,059评论 0 13