TokenEnhancer
を実装して、承認サーバー側で生成されたトークンに関する追加情報を正常に追加しました。ここで生成されたトークンは次のとおりです。トークンadditionalInformationを使用して式ベースのアクセス制御を検証する方法
{"access_token":"ccae1713-00d4-49c2-adbf-e699c525d53e","token_type":"bearer","expires_in":31512,"scope":"end-user","user_id":2}
さて、RemoteTokenServices
を介して通信し、完全に独立した春のプロジェクトでリソースサーバ側、に、私はこの方法expression-based access control
で学位論文の情報を使用したいと思います。
@PreAuthorize("#oauth2.hasScope('admin') or #id == authentication.principal.user_id") @Override UserAccount findOne (@P("id") Integer id);
予想通り#oauth2.hasScope('admin')
作品が、明らかに#id == authentication.principal.user_id"
一部ではありません:たとえば、私は追加user_id
データを(それは春データ残りで使用するために春データJPAリポジトリである)を使用したいと思います。
式ベースのアクセス制御でトークンに追加された追加データにどのようにアクセスできますか?
感謝。 UserDetailsServiceImplはどのように見えますか? –
私は自分のUserDetailsServiceImplを答えに加えました。 –
速い返答をありがとう。 –