第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Postgres Hibernate 設(shè)置會(huì)話變量以實(shí)現(xiàn)行級(jí)安全性

Postgres Hibernate 設(shè)置會(huì)話變量以實(shí)現(xiàn)行級(jí)安全性

皈依舞 2023-08-04 10:11:16
我無(wú)法找到有關(guān)我遇到的這個(gè)問(wèn)題的信息。我對(duì)在 Postgres 數(shù)據(jù)庫(kù)上實(shí)現(xiàn)行級(jí)安全性感興趣,并且正在尋找一種能夠通過(guò)某種形式的攔截器自動(dòng)設(shè)置 postgres 會(huì)話變量的方法。現(xiàn)在,我知道通過(guò) hibernate,您可以使用@Filter和執(zhí)行行級(jí)安全性@FilterDef,但是我想在我的數(shù)據(jù)庫(kù)上另外設(shè)置策略。一個(gè)非常簡(jiǎn)單的方法是在每個(gè)查詢之前執(zhí)行 SQL 語(yǔ)句SET variable=value,盡管我還沒(méi)有找到任何關(guān)于此的信息。這是在 spring-boot 應(yīng)用程序上使用的,每個(gè)請(qǐng)求都應(yīng)該能夠訪問(wèn)variable.
查看完整描述

1 回答

?
忽然笑

TA貢獻(xiàn)1806條經(jīng)驗(yàn) 獲得超5個(gè)贊

由于您的應(yīng)用程序使用 spring,您可以嘗試通過(guò)以下幾種方法之一來(lái)完成此操作:


春季AOP


在這種方法中,您編寫一條建議,要求 spring 將其應(yīng)用于特定方法。如果您的方法使用@Transactional注釋,您可以在事務(wù)開(kāi)始后立即將建議應(yīng)用于那些方法。


擴(kuò)展 TransactionManager 實(shí)現(xiàn)


讓我們假設(shè)您的交易正在使用JpaTransactionManager.


public class SecurityPolicyInjectingJpaTransactionManager extends JpaTransactionManager {

  @Autowired

  private EntityManager entityManager;


  // constructors


  @Override

  protected void prepareSynchronization(DefaultTransactionStatus status, TransactionDefinition definition) {

    super.prepareSynchronization(status, definition);

    if (status.isNewTransaction()) {

      // Use entityManager to execute your database policy param/values


      // I would suggest you also register an after-completion callback synchronization

      // This after-completion would clear all the policy param/values

      // regardless of whether the transaction succeeded or failed 

      // since this happens just before it gets returned to the connection pool

    }

  }

}

現(xiàn)在只需配置您的 JPA 環(huán)境即可使用您的自定義JpaTransactionManager類。


可能還有其他的,但這是我想到的兩個(gè)。


查看完整回答
反對(duì) 回復(fù) 2023-08-04
  • 1 回答
  • 0 關(guān)注
  • 142 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)