如果以编程方式调用,则通过@PreAuthorize on Repository

时间:2016-09-05 11:44:09

标签: spring spring-security spring-data

我有一个spring数据存储库,用于管理其方法受@PreAuthorization保护的用户。 但我需要以编程方式调用theese方法以进行自定义身份验证和授权。有没有办法将spring授权限制为http请求?

1 个答案:

答案 0 :(得分:0)

我建议安全门面模式。类似的东西:

@Service
public class SecurityFacade {

    @Autowired
    private userDao;

    @PreAuthorize("hasRole('ADMIN')")
    public User getUser(String username) {
        return userDao.getUser(username);
    }
}

当您需要检查授权时,您将通过此服务类。如果不这样做,则直接调用DAO。