[英]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.