1
得到的entityName或接口名稱通用信息庫,我想創建一個通用安全CRUD庫和註釋與預授權每一種方法,但我不能得到如何檢索實體類名如何規劃環境地政司在預授權
@NoRepositoryBean
public interface AbstractEntityRepository<T extends AbstractEntity> extends CrudRepository<T, String> {
@Override
@PreAuthorize("hasPermission(null, #entityName, 'find');
Iterable<T> findAll();
}
public interface UserRepository extends AbstractEntityRepository<User> {}
在這種情況下,entityName始終爲空。
@Component
@Log
public class CustomPermissionEvaluator implements PermissionEvaluator {
@Override
public boolean hasPermission(Authentication authentication, Serializable targetId, String targetType, Object permission)
log.fine("type " + targetType); // <- null
return true;
}
...
任何想法如何獲得「用戶」或「UserRepository」?
我設法編寫一個自定義的類名解析器,但不知道這是一個最好的方法 – alex