摘要:設(shè)計思想數(shù)據(jù)權(quán)限是在功能權(quán)限的基礎(chǔ)上面進一步的擴展,比如可以查看訂單屬于功能權(quán)限的范圍,但是可以查看哪些訂單就是數(shù)據(jù)權(quán)限的工作了。本方案中即可根據(jù)當前用戶的數(shù)據(jù)范圍動態(tài)的組裝成作為所有查詢的附加邏輯。
設(shè)計思想:
【數(shù)據(jù)權(quán)限】是在【功能權(quán)限】的基礎(chǔ)上面進一步的擴展,比如可以查看訂單屬于【功能權(quán)限】的范圍,但是可以查看哪些訂單就是【數(shù)據(jù)權(quán)限】的工作了。
根據(jù)不同的角色定義一些規(guī)則,將規(guī)則值保存起來。最終將值 轉(zhuǎn)化成執(zhí)行腳本里面的值。
Mybatis攔截器的一個作用就是可以攔截某些方法的調(diào)用,可以選擇在這些被攔截的方法執(zhí)行前后加上某些邏輯,也可以在執(zhí)行這些被攔截的方法時執(zhí)行自己的邏輯而不再執(zhí)行被攔截的方法。
Mybatis攔截器設(shè)計的一個初衷就是為了供用戶在某些時候可以實現(xiàn)自己的邏輯而不必去動Mybatis固有的邏輯。
本方案中即可根據(jù)當前用戶的數(shù)據(jù)范圍動態(tài)的組裝成sql作為所有查詢sql的附加邏輯。
實現(xiàn):
1,首先找到攔截時機
2,根據(jù)攔截器的注解聲明,攔截的是Executor對象query方法
3,根據(jù)mabatis源碼,取出在mappedStatement的SQL語句
4,取出sql語句,根據(jù)當前用戶,獲取規(guī)則,將條件追加到sql中
5,將增強后的sql再放回mappedStatement中
攔截器,加入一些權(quán)限處理,最后附加到SQL中
取到當前登陸人信息
這里取登陸人信息,用了兩種方式:
一種用 threadlocal, 同一個線程把變量傳過來
另一種直接在dao層用參數(shù)傳過來,偷懶了,沒有實現(xiàn)線程之前變量傳遞,當時情況是用戶提交一個查詢請求,導出直接提交給另一個線程 springbatch去處理,所以就把登陸了人的信息直接傳到dao參數(shù)上了
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/68464.html
摘要:解決方案如圖所示,將軍令分塊,數(shù)據(jù)內(nèi)容權(quán)限平臺審批流平臺審計日志平臺提供各種靈活可插拔的服務(wù),支持在通用服務(wù)的基礎(chǔ)基礎(chǔ)上進行定制開發(fā)。 背景 在大數(shù)據(jù)時代,數(shù)據(jù)已經(jīng)成為公司的核心競爭力。此前,我們介紹了美團酒旅起源數(shù)據(jù)治理平臺的建設(shè)與實踐,主要是通過各種數(shù)據(jù)分析挖掘手段,為公司發(fā)展決策和業(yè)務(wù)開展提供數(shù)據(jù)支持。 近期,業(yè)內(nèi)數(shù)據(jù)安全事件頻發(fā),給相關(guān)企業(yè)造成了無可挽回的損失,更為數(shù)據(jù)安全防護...
摘要:解決方案如圖所示,將軍令分塊,數(shù)據(jù)內(nèi)容權(quán)限平臺審批流平臺審計日志平臺提供各種靈活可插拔的服務(wù),支持在通用服務(wù)的基礎(chǔ)基礎(chǔ)上進行定制開發(fā)。 背景 在大數(shù)據(jù)時代,數(shù)據(jù)已經(jīng)成為公司的核心競爭力。此前,我們介紹了美團酒旅起源數(shù)據(jù)治理平臺的建設(shè)與實踐,主要是通過各種數(shù)據(jù)分析挖掘手段,為公司發(fā)展決策和業(yè)務(wù)開展提供數(shù)據(jù)支持。 近期,業(yè)內(nèi)數(shù)據(jù)安全事件頻發(fā),給相關(guān)企業(yè)造成了無可挽回的損失,更為數(shù)據(jù)安全防護...
摘要:處在局域網(wǎng)之內(nèi)的,由于有局域網(wǎng)出入口的網(wǎng)絡(luò)設(shè)備的基本保護,相對于暴露在廣域網(wǎng)中要安全不少,主要威脅對象基本控制在了可以接入局域網(wǎng)的內(nèi)部潛在威脅者,和極少數(shù)能夠突破最外圍防線局域網(wǎng)出入口的安全設(shè)備的入侵者。 前言 對于任何一個企業(yè)來說,其數(shù)據(jù)庫系統(tǒng)中所保存數(shù)據(jù)的安全性無疑是非常重要的,尤其是公司的有些商業(yè)數(shù)據(jù),可能數(shù)據(jù)就是公司的根本。 失去了數(shù)據(jù),可能就失去了一切 本章將針對mysql...
閱讀 3931·2021-11-18 13:19
閱讀 1180·2021-10-11 10:58
閱讀 3291·2019-08-29 16:39
閱讀 3140·2019-08-26 12:08
閱讀 2036·2019-08-26 11:33
閱讀 2460·2019-08-23 18:30
閱讀 1308·2019-08-23 18:21
閱讀 2522·2019-08-23 18:18