鍍金池/ 問(wèn)答/Java  網(wǎng)絡(luò)安全/ CAS+Shiro 自定義 pac4jRealm 每次判斷權(quán)限都要重復(fù)執(zhí)行doG

CAS+Shiro 自定義 pac4jRealm 每次判斷權(quán)限都要重復(fù)執(zhí)行doGetAuthorizationInfo()兩次

代碼如下:

public class UserRealm extends Pac4jRealm(){
  
  @Override
  public AuthorizationInfo  doGetAuthorizationInfo(PrincipalCollection principals) {
    // TODO Auto-generated method stub
    System.out.println("Onece");
    Set<String> roles=new HashSet()<>;
    roles.add("admin");
    SimpleAuthorizationInfo authorizationInfo = new SimpleAuthorizationInfo();
    authorizationInfo.setRoles(roles);
    return authorizationInfo ;
}

在controller層有一個(gè)方法

    @RequestMapping("/hello2")
    @ResponseBody
    public String hello2() {
        SecurityUtils.getSubject().checkRoles("user");
        return "success";
    }

當(dāng)執(zhí)行chekRoles 執(zhí)行了doGetAuthorizationInfo() 方法 但是要打印兩個(gè)"Onece" 請(qǐng)問(wèn)這是什么原因呢

回答
編輯回答
夕顏

我也是執(zhí)行兩次,請(qǐng)問(wèn)解決了么?

2017年1月2日 17:23