0
삭제할 사용자의 권한을 얻어야합니다. 내 시도는 다음과 같습니다.jitterster에서 사용자를 삭제할 때 권한을 얻으십시오.
@DeleteMapping("https://stackoverflow.com/users/{login:" + Constants.LOGIN_REGEX + "}")
@Timed
@Secured({AuthoritiesConstants.ADMIN, AuthoritiesConstants.LECTURER})
public ResponseEntity<Void> deleteUser(@PathVariable String login) {
log.debug("REST request to delete User: {}", login);
boolean hasAuthorityAdmin = false;
boolean hasAuthorityMember = false;
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
Collection<? extends GrantedAuthority> authorities = authentication.getAuthorities();
hasAuthorityAdmin = authorities.contains(new SimpleGrantedAuthority(AuthoritiesConstants.ADMIN));
hasAuthorityMember = authorities.contains(new SimpleGrantedAuthority(AuthoritiesConstants.MEMBER));
if (hasAuthorityAdmin) {
// delete user
userService.deleteUser(login);
} else {
if (hasAuthorityMember) {
// delete user if it is a student
if (**x**.contains(AuthoritiesConstants.STUDENT)) {
userService.deleteUser(login);
}
}
}
return ResponseEntity.ok().headers(HeaderUtil.createAlert("userManagement.deleted", login)).build();
}
x 대신에 검색하는 방법이 필요합니까? 즉, 삭제할 권한을 검색해야합니다. 그래서 누구나 아이디어를 가지고 있습니다. 이것은 userResource.java 안에 있습니다. 누구든지 코드를 도와 줄 수 있습니까?
는 내가 회원으로 로그인하고 있다고 가정하자. 그럼 나는 학생을 지울거야. 따라서 학생 기록의 삭제 버튼을 클릭 할 때 메소드를 통해 ROLE_STUDENT를 가져올 수 있어야합니다.
* x 대신 검색 할 방법이 필요합니다. * 검색 할 검색 방법이 필요합니까? –
나는 누구든지 내가 삭제하려고하는 사용자에게 할당 된 권한 목록을 가져와야합니다. –
나는 db에서 사용자 역할 정보를 가져와야한다고 생각합니다. 'SecurityContextHolder'는'ThreadLocal'과 묶여 있으므로 데이터베이스를 치지 않고 검색 할 방법이 없습니다. –