0

私は、Spring Security Core で学生ロールを所有しています。役割の学生は、あなたの情報を編集できます。しかし、別のユーザーの情報を編集したい場合は、それも可能です。

@Secured(['ROLE_ADMIN','ROLE_STUDENT'])
@PreAuthorize('isAuthenticated() and principal?.id == #studentInstance.id')
def edit(Student studentInstance) {
    respond studentInstance
}

ACL プラグインを使用しましたが、機能しませんでした。別の生徒を編集することもできます。

4

1 に答える 1

1

コアプラグインがそれらを探して対応するアクセスルールチェックを構築するため、コントローラーで使用できます@Securedが、コントローラーでは他の Spring Security アノテーションはサポートされていません。

代わりに、サービス メソッドに注釈を付けて、コントローラーから呼び出します。Spring Security は、チェックを実行し、チェックが成功した場合にのみ Bean メソッドを呼び出すプロキシで、注釈付きの Spring Bean (サービスなど) をラップします。

于 2015-05-27T19:05:08.940 に答える