網路權限控制的實作方法
粗粒度URL等級的權限控制
權限控制主要分為粗粒度URL等級的權限控制和細粒度的方法等級權限控制。 (推薦學習:web前端影片教學)
我們在背景系統的操作,無論是點選一個按鈕,或是點選一個選單項,都是在存取伺服器端的一個資源,而標識伺服器資源的就是URL。如何控制使用者對伺服器資源的操作權限呢?在我們的資料庫中會有兩張表:
使用者表和權限控製表。使用者表中的使用者會同權限控製表中的相關權限進行關聯,透過Fliter判斷目前使用者是否具有權限對應URL位址,如果使用者對應的權限清單中沒有目前存取的URL位址,就提示權限不足。如果使用者對應的權限清單中含有URL位址,允許使用者存取。
簡單來說,基於URL粗粒度的權限控制,就是在資料庫中存放使用者、權限、存取URL對應的關係,在目前使用者存取一個URL位址時,就去查詢資料庫,判斷使用者目前具有的權限,是否包含這個URL,如果包含就允許訪問,如果不包含,就提示權限不足。
細粒度方法層級的權限控制
細粒度方法層級的權限控制相較粗粒度的權限控製粒度更加精細。同樣地,在點選後台系統地一個按鈕或是一個選單項目時,都是在存取伺服器端的一個URL資源,而這個URL位址會涉及到表現層、業務層和DAO資料層的方法。粗粒度的是透過查詢資料表中目前使用者的相關權限進行比對而判斷是否要對使用者放行,不同的是,細粒度的權限控制是基於自訂的註解實現的。
例如:在業務層中的某個方法上添加一個註解@Permission(“自定義權限名稱”),在這個註解中就包含了訪問方法需要的權限信息,在數據庫中同樣創建兩張表:用戶表和權限表,權限表中的權限名稱就要於剛剛在方法上添加的註解中的自定義名稱保持一致,說直白一點,就是在權限表中描述了權限信息,再透過註解的形式加入方法上,這樣就達到了對方法進行權限控制的目的,使用者表中的使用者對應的再權限表中的權限也在資料表中進行關聯,使用者能存取哪些方法、哪些資源就透過數據表結合註解來控制了。
更底層的實作原理是:spring管理著透過applicationContext.xml中配置的bean所對應的對象,當使用者存取一個URL位址時,spring就可以傳回被存取的真實對象的代理對象,在存取真實對象的每個方法時,代理對象就會取查詢資料庫判斷當前使用者是否具有註解中定義的權限,因為是真實對象的代理對象,所以是能夠實現這一系列操作的,最後根據判斷是否具有權限的結果來控制使用者的存取。
簡單來說,細粒度的權限控制是透過代理物件結合自訂的註解實現,在使用者存取目標物件的方法時,在方法上新增權限註解訊息,同時對目標物件建立代理對象,在存取真實對象之前先存取代理對象,代理對象前往資料庫查詢權限資料判斷使用者是否具有註解上描述所需的權限。如果具備訪問權限,就允許訪問,不具備訪問權限,就攔截訪問,提示權限不足。
以上是網路權限控制的實作方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

如果您在Windows11上突然出現緩慢的互聯網連接,並且您已經嘗試了書中的所有技巧,那麼它可能與您的網絡無關,而是與您的最大傳輸單元(MTU)無關。如果您的系統發送或接收具有錯誤MTU大小的數據,則可能會出現問題。在這篇文章中,我們將了解如何在Windows11上更改MTU大小以實現流暢和不間斷的網路連線。 Windows11中的預設MTU大小是多少? Windows11中的預設MTU大小為1500,這是允許的最大值。 MTU代表最大傳輸單位。這是可以在網路上發送或接收的最大資料包大小。每個支援網
![WLAN擴充模組已停止[修復]](https://img.php.cn/upload/article/000/465/014/170832352052603.gif?x-oss-process=image/resize,m_fill,h_207,w_330)
如果您的Windows電腦上的WLAN擴充模組出現問題,可能會導致您與網際網路中斷連線。這種情況常常讓人感到困擾,但幸運的是,本文提供了一些簡單的建議,可以幫助您解決這個問題,讓您的無線連線重新正常運作。修復WLAN擴充模組已停止如果您的Windows電腦上的WLAN可擴充性模組已停止運作,請依照下列建議進行修復:執行網路和Internet故障排除程式停用並重新啟用無線網路連線重新啟動WLAN自動設定服務修改電源選項修改高級電源設定重新安裝網路適配器驅動程式運行一些網路命令現在,讓我們來詳細看

我們在連接網路時需要使用正確的dns才可以上網。同理,如果我們使用了錯誤的dns設定就會提示dns伺服器錯誤了,這時候我們可以嘗試在網路設定中選擇自動取得dns來解決,以下就一起來看下具體解決方法吧。 win11網路dns伺服器錯誤怎麼辦方法一:重新設定DNS1、首先,點選工作列中的開始進入,在其中找到並點選「設定」圖示按鈕。 2、然後點選左側欄中的「網路&Internet」選項指令。 3、然後在右側找到「乙太網路」選項,點選進入。 4、之後,點選DNS伺服器指派中的“編輯”,最後將DNS設定為“自動(D

什麼是「網路錯誤下載失敗」問題?在我們深入研究解決方案之前,讓我們先了解「網路錯誤下載失敗」問題的含義。當下載過程中網路連線中斷時,通常會發生此錯誤。它可能由於各種原因而發生,例如互聯網連接薄弱、網路擁塞或伺服器問題。發生此錯誤時,下載將停止,並顯示錯誤訊息。如何修復失敗的網路錯誤下載?在存取或下載必要的文件時,遇到「網路錯誤下載失敗」可能會成為障礙。無論您是使用Chrome等瀏覽器還是Google雲端硬碟和Google相簿等平台,都會彈出此錯誤,從而造成不便。以下是幫助您導覽和解決此問題的分

如果WDMyCloud未在Windows11的網路上顯示,這可能是一個大問題,尤其是當您將備份或其他重要檔案儲存在其中時。對於經常需要存取網路儲存的用戶來說,這可能是一個大問題,因此在今天的指南中,我們將向您展示如何永久解決此問題。為什麼WDMyCloud未顯示在Windows11網路上?您的MyCloud裝置、網路介面卡或網路連線未正確配置。電腦上未安裝SMB功能。 Winsock的臨時故障有時會導致此問題。如果我的雲端未顯示在網路上,我該怎麼辦?在我們開始修復問題之前,您可以執行一些初步檢查:

這篇文章將介紹Win10系統網路顯示地球標誌但無法上網的解決方法。文章將提供詳細的操作步驟,幫助讀者解決Win10網路顯示地球無法上網的問題。方法一:直接重啟先檢查網路線是否沒插好,寬頻是否欠費,路由器或光貓可能會卡死,這時需重新啟動路由器或光貓。假如目前電腦沒有重要的事宜在操作,能直接重啟電腦,大部分的小問題能透過重新啟動電腦來快速解決。如果確定寬頻沒有欠費,網路正常,那便是另一回事。方法二:1、按【Win】鍵,或點選左下角的【開始選單】,在開啟的選單項目中,點選電源按鈕上方的齒輪狀圖標,這個就是【設

LAN喚醒是Windows11上的網路功能,有了它,您可以遠端將電腦從休眠或睡眠模式喚醒。雖然臨時用戶不經常使用它,但此功能對於使用有線網路的網路管理員和高級用戶非常有用,今天我們將向您展示如何設定它。如何知道我的電腦是否支援LAN喚醒?要使用此功能,您的電腦需要以下各項:PC需要連接到ATX電源,以便您可以遠端將其從睡眠模式喚醒。需要建立存取控制清單並將其新增至網路中的所有路由器。網路卡需要支援喚醒區域網路功能。要使此功能正常運作,兩台電腦需要位於同一網路上。雖然大多數以太網適配器通過以

為了確保您的網路連線正常運作或解決問題,有時您需要檢查Windows11上的網路連線詳細資訊。透過這樣做,您可以查看各種信息,包括您的IP位址、MAC位址、連結速度、驅動程式版本等,在本指南中,我們將向您展示如何做到這一點。如何在Windows11上找到網路連線詳細資訊? 1.使用「設定」應用程式按+鍵開啟Windows設定。 WindowsI接下來,導覽至左窗格中的網路和互聯網,然後選擇您的網路類型。在我們的例子中,這就是乙太網路。如果您使用的是無線網絡,請改為選擇Wi-Fi網路。在螢幕底部,您應該會看