我有一个使用授权前和授权后方法注释的 Spring MVC Web 应用程序。
我的一个服务中有一个特定的方法需要应用更复杂的授权逻辑。
我注意到有一个PermissionsEvaluator
界面,但这似乎是为了一种更全局的权限方法而不是每个模块。我想可以编写一个委托给特定模块的实现PermissionsEvaluators
,但这似乎需要做很多工作。
此外,我会加倍努力。授权决策基于实际处理过程中的中间状态。如果我使用该PreAuthorize
机制,我将生成该状态一次以进行授权,然后再次“用于真实”。
我可以直接从我的服务层抛出一个标准的弹簧异常吗?我应该考虑其他一些方法吗?