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

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

動態(tài)Proxy與Java ACL用戶訪問控制機制實現

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

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

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

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

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

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

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

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

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

標簽: Java
相關文章:
主站蜘蛛池模板: 十堰市| 个旧市| 天全县| 凤山县| 澎湖县| 唐海县| 西平县| 盐亭县| 洞头县| 方正县| 昂仁县| 塔城市| 炉霍县| 通州市| 江安县| 清流县| 台江县| 曲靖市| 西青区| 邵阳市| 贞丰县| 乌什县| 锡林郭勒盟| 呼玛县| 洪江市| 马尔康县| 孟连| 页游| 建平县| 嵊泗县| 宜丰县| 石台县| 婺源县| 海宁市| 绍兴市| 屏东县| 广昌县| 昔阳县| 迭部县| 高密市| 交口县|