如何根据Sprint Security中的身份验证方法限制对方法的访问?
例如,我想要两种身份验证方法:基本和LDAP。但是对于我的服务中的一种方法,我只希望在用户使用basic-authirization进行身份验证时允许访问。
我知道我可以将Authentication
添加到方法签名中,然后检查它是否是UsernamePasswordAuthenticationToken
的实例,但这看起来很丑但并没有真正使用框架。
我想我可以对PreAuthorize
做同样的事情。
另一种丑陋的方法是向每个通过身份验证的用户添加一条规则,告知身份验证方法。我可以根据角色进行授权。再次,丑陋
但是,有更多开箱即用/有弹性的做法吗?