2017-11-01 9 views
0

削除するユーザーの権限を取得する必要があります。私の試みは次の通りです。jittersterでの削除時にユーザーの権限を取得する

xの代わりに、取得する方法が必要ですか?つまり、削除する権限を取得する必要があります。だから誰もが考えている。これはuserResource.javaの内部にあります。誰もコードを教えてくれますか?

enter image description here

は、私がメンバーとしてログインしていたとします。それから私は学生を削除するつもりです。だから、私は学生レコードの削除ボタンをクリックすると、メソッドを介してROLE_STUDENTを取得することができるはずです。

+0

* xの代わりに*取得する方法が必要です* - どちらを取り出そうとしていますか? –

+0

削除する人に割り当てられた権限リストを取得する必要があります –

+0

私はあなたがdbからユーザ役割情報を取り出すべきだと思います。 'SecurityContextHolder'は' ThreadLocal'と結びついているので、データベースにアクセスすることなく検索する方法はありません。 –

答えて

1

これはそれを行う必要があります:UserServiceので

if (hasAuthorityMember) { 
    Optional<User> user = userService.getUserWithAuthoritiesByLogin(login); 
    Set<Authority> currentUserAuthorities = user.get().getAuthorities(); 
    for(Authority auth : currentUserAuthorities) { 
     // delete user if it is a student 
     if(auth.getName().equals(AuthoritiesConstants.STUDENT)) { 
      userService.deleteUser(login); 
     } 
    } 
} 

を、あなたはそのログインにユーザーと彼の当局感謝を取得し、(多く存在する場合)、その当局のそれぞれに対して、我々はの名前を確認します権限。 「生徒」に該当する場合は、そのユーザーを削除します。

関連する問題