亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

使用攔截器進行tenantId的獲取

老師你好,例子中的tenantid是固定的,我改用攔截器進行tenantid的設置,就是login的時候將tennatid設置好提供后文調用,login接口不攔截,其他接口都攔截,先執行login操作設置tenantid,我在配置攔截器的時候我將login設置為不攔截,但它還是被攔截了,老師可以幫忙看下什么原因嗎,網上找了半天都不行,我以為是Springboot版本問題,項目用的是2.2.4,我改成2.1.4試了也不行。項目地址:https://github.com/NightOnewith/mp-high,sql文件在sql包中。

正在回答

1 回答

? ? ? ?你這個代碼我下載下來了,我這調試起來,稍微有點費勁。我給你個思路,你看看行不行,如果不行我再幫你調試一下。

? ? ? ? 就是你不要把PaginationInterceptor注入到攔截器中,你可以像我那個例子一樣,在一個地方定義一個ThreadLocal靜態變量保存你的tennatid字段。在你的TenantInterceptor攔截器中將區分租戶的值設置到靜態變量上,然后再PaginationInterceptor中的多租戶解析器中把他取出來。例如:

public?Expression?getTenantId(boolean?where)?{
????????Long?tenantId?=?local.get();
????????if(tenantId?!=?null)?{
????????????return?new?LongValue(tenantId?);
????????}
????????return?null;
????
}

用完了之后,記得把ThreadLocal清空,防止線程歸還到線程池后,被其他線程復用。

? ? ? ? 還有一個辦法你可以把tennatid在攔截器中存儲到request中,然后再PaginationInterceptor取出來。

? ? ? ?試試看看是否可行,如果不可行,再反饋給我。

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

使用攔截器進行tenantId的獲取

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號