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