Ralasafe的使用总结
2019獨角獸企業重金招聘Python工程師標準>>>
最近項目中用到Ralasafe來作為權限管理系統,主要是和業務系統分類,使用了RMI技術,使之成為兩個獨立的項目。因此,只使用到Ralasafe的部分功能,如角色分配,角色管理,權限管理等這些功能。
使用原理是:從業務系統登陸,通過遠程調用,一次性從Ralasafe里取出某個登陸用戶的所有權限,全部回傳到業務系統。
主要使用的Ralasafe的API是:Ralasafe.getBusinessPrivilegeTree()。
但并不是完全能滿足我們的需求,需要修改部分源碼。
1、遠程對象需要序列化:Node類實現Serializable接口,User類也實現了Serializable接口。
2、需要獲取全部的權限列表,不僅僅是顯示菜單的權限樹。
修改了UserRoleManagerImpl#public Privilege getBusinessPrivilegeTree(Object userId)中的
| 01 | ????????????????/* |
| 02 | // only add granted privilege & displayable privilege here |
| 03 | if (pvlg.getDisplay() && |
| 04 | ????????assignedPrivilegeIds.contains(new Integer(pvlg.getId()))) { |
| 05 | ????assignedPrivileges.add((Privilege) (pvlg.clone())); |
| 06 | } |
| 07 | */ |
| 08 | ? |
| 09 | if?(assignedPrivilegeIds.contains(new?Integer(pvlg.getId()))) { |
| 10 | ????assignedPrivileges.add((Privilege) (pvlg.clone())); |
| 11 | } |
同時還需要在Privilege#public Object clone()中添加
| 1 | newOne.setDisplay(display); |
3、還有就是發布的1.2版本存在一些BUG,如編輯了權限,但不能保存權限的orderNum,好在Ralasafe社區已經修改了這個bug,重新打包編譯就可以了。
本文固定鏈接:?http://www.kaman.cc/?p=195 | 幸福一家
轉載于:https://my.oschina.net/yangphere/blog/56707
總結
以上是生活随笔為你收集整理的Ralasafe的使用总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安装ntop及快速安装rrdtool的方
- 下一篇: BIOS响铃代码