shiro重新賦值權限


/**
     * 重新賦值權限(在比如:給一個角色臨時添加一個權限,需要調用此方法刷新權限,否則還是沒有剛賦值的權限)
     * @param myRealm 自定義的realm
     * @param username 用戶名
     */
    public static void reloadAuthorizing(MyRealm myRealm,String username){
        Subject subject = SecurityUtils.getSubject(); 
        String realmName = subject.getPrincipals().getRealmNames().iterator().next(); 
        //第一個參數為用戶名,第二個參數為realmName,test想要操作權限的用戶 
        SimplePrincipalCollection principals = new SimplePrincipalCollection(username,realmName); 
        subject.runAs(principals); 
        myRealm.getAuthorizationCache().remove(subject.getPrincipals()); 
        subject.releaseRunAs();
    }

 可封裝成一個工具類的方法,直接調用即可


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM