国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

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

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

瀏覽:209日期: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
相關文章:
主站蜘蛛池模板: 和林格尔县| 玉溪市| 汉寿县| 望谟县| 依兰县| 内乡县| 慈利县| 紫阳县| 镇宁| 九台市| 南郑县| 大连市| 齐齐哈尔市| 信丰县| 滦南县| 运城市| 三亚市| 横峰县| 神木县| 星子县| 喀喇| 吴川市| 阳信县| 雅江县| 临猗县| 胶州市| 韶关市| 皮山县| 哈尔滨市| 田阳县| 大埔县| 德钦县| 浑源县| 渝中区| 家居| 马关县| 浙江省| 满洲里市| 新疆| 永丰县| 容城县|