簡體   English   中英

我怎樣才能從 Spring-Security 校長那里得到數據?

[英]How can I get a data from Spring-Security principal?

現在我面臨一些關於主要數據的問題。 也許這聽起來像個傻瓜。 但我是 Spring 的新手..

我想從主體數據中獲取一些特定的數據,但是出現錯誤,所以我不能。

這是我實現 UserDetails 的 customUserDetails。

private String id;
    private String pw;
    private String name;
    private String auth;
    private String level;
    private String label;
    private int enabled;

    @Override
    public Collection<? extends GrantedAuthority> getAuthorities() {
        ArrayList<GrantedAuthority> authList = new ArrayList<GrantedAuthority>();
        authList.add(new SimpleGrantedAuthority(auth));
        return authList;
    }

    @Override
    public String getPassword() {
        return pw;
    }

    @Override
    public String getUsername() {
        return id;
    }

    @Override
    public boolean isAccountNonExpired() {
        return true;
    }

    @Override
    public boolean isAccountNonLocked() {
        return true;
    }

    @Override
    public boolean isCredentialsNonExpired() {
        return true;
    }

    @Override
    public boolean isEnabled() {
        return enabled==1?true:false;
    }

    public String getName() {
        return name;
    }

    public String getLabel() { return label;} // 4월 19일 동현 추가

    public void setName(String name) {
        this.name = name;
    }

    public String getAuth() {
        return auth;
    }

這是我從 console.log 獲得的主要數據

CustomUserDetails(id=admin, pw=$2a$10$Z9C0gTGV0weknBvNi4YFY.l41vjrYo4UgO3MlPwgmIn4uDeYlepFq, name=Admin, auth=ROLE_ADMIN, level=null, label=N, enabled=1)

我想從 Principal 中提取 label 值,所以我嘗試執行此代碼,但我做不到。

console.log('${sessionScope.SPRING_SECURITY_CONTEXT.authentication.principal.label}');

我怎樣才能從校長那里得到“標簽”數據?

感謝您的支持:)

在您的 Controller 或任何其他 bean 中,自動裝配用戶詳細信息,例如

public String doSomething(@AuthenticationPrincipal CustomUserDetails userDetails) {
      String label = userDetails.getLabel();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM