我正在尝试按特定角色过滤jhipster中的用户。该过滤器是否会出现在UserService类(本质上是getNonAdminUsers方法)中?默认情况下,UserService调用getAllManagedUsers,该方法基本上返回除我之外的每个用户。很好,但是我的目标是返回不是ROLE_ADMIN用户的每个人。 这是现有的“核心”。
@Transactional(readOnly = true)
public Page<UserDTO> getAllManagedUsers(Pageable pageable) {
return userRepository.findAllByLoginNot(pageable,Constants.ANONYMOUS_USER).map(UserDTO::new); }
答案 0 :(得分:0)
我认为这不是最好的方法
<script>
$(function(){
$('.bxslider').bxSlider({
captions: true,
speed: 900,
pause: 7000,
startSlide: 0,
infiniteLoop: true,
auto: true,
video: true,
touchEnabled: false,
pager: false,
});
});
if ( $(window).width() < 768) {
var myslider = $('.bxslider').bxSlider({
...
maxSlides : 1,
});
}
else {
var myslider = $('.bxslider').bxSlider({
...
maxSlides : 4,
});
}
</script>
答案 1 :(得分:0)
可以使用规范(org.springframework.data.jpa.domain.Specification);
首先在您的UserRepository中添加新的方法签名
Page<User> findAll(Specification<User> where, Pageable pageable);
然后在UserService中添加规范:
static Specification<User> isNotAdmin(Authority role) {
return (obj, cq, cb) -> cb.isNotMember(role, obj.get("authorities"));
}
然后修改您的方法以按您要排除的角色进行过滤:
@Transactional(readOnly = true)
public Page<UserDTO> getAllManagedUsers(Pageable pageable) {
Authority admin = authorityRepository.findById(AuthoritiesConstants.ADMIN).get();
return userRepository.findAll(Specification.where(isNotAdmin(admin)), pageable).map(UserDTO::new);
}