久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

動態Proxy與Java ACL用戶訪問控制機制實現

瀏覽:144日期:2024-06-05 13:04:08
用戶訪問控制(Access control )機制總是圍繞粗粒度和細粒度兩個方面來討論:

粗粒度控制:可以規定訪問整個對象或對象群的某個層,而細粒度控制則總是在方法或屬性層進行控制,比如:

允許一個文件為只讀是屬于粗粒度控制,而允許對這個文件某行有寫操作則屬于細粒度控制。

一個好的用戶控制機制當然既允許粗粒度也允許細粒度控制,在Jive中我們看到是使用Proxy來達到這個目的,但是我們也發現,由于需要對每個類都要進行細粒度控制,所以必然對每個類都要做一個Proxy類,這樣帶來了很多Proxy類,如ForumProxy ForumThreadProxy ForumFactoryProxy等,無形增加了系統復雜性。

使用動態Proxy可以很好的解決這個問題。再結合java.security.acl的ACL機制,我們就可以靈活地實現粗粒度和細粒度的雙重控制。

當一個用戶login后,我們就要在內存中為其建立相應的授權訪問機制,使用java.security.acl可以很方便的建立這樣一個安全系統。

首先任何一個對象都應該有個基本屬性:擁有者 或擁有者所屬組(Windows中每個目錄安全描述符都由4部分構成:對象的創建者、對象所屬的組、自由存取控制和系統存取控制)。

1. Java acl開始第一步是建立一個主體 Principal,其中SecurityOwner是主體的擁有者: private static final Principal _securityOwner = new PrincipalImpl('SecurityOwner');

2. 當用戶login進來時,他帶有兩個基本數據:訪問密碼和他要訪問的對象ApplicationName。首先驗證用戶名和密碼,然后從數據庫中取出其權限數據,建立Permission,這里使用Feature繼承了Permission,在Feature中定義了有關權限的細節數據(如讀 寫 刪)。

標簽: Java
相關文章:
主站蜘蛛池模板: 双峰县| 上栗县| 海兴县| 上犹县| 灌南县| 阳东县| 班戈县| 杭锦后旗| 五指山市| 江油市| 壶关县| 贵德县| 达拉特旗| 新竹市| 基隆市| 肇东市| 磐石市| 苍溪县| 武定县| 延寿县| 洪江市| 涟水县| 甘肃省| 娱乐| 平塘县| 绥棱县| 泾源县| 大荔县| 广宁县| 竹北市| 石首市| 宣城市| 仁寿县| 磐安县| 陆丰市| 扶余县| 洛隆县| 绥阳县| 东台市| 隆子县| 廉江市|