一、基于表达式的访问控制
1.access()方法使用
之前学习的登录用户权限判断实际上底层实现都是调用access(表达式)
可以通过access()实现和之前学习的权限控制完成相同的功能。
1.1以hasRole和permitAll举例
下面代码和直接使用permitAll()和hasRole()是等效的。
2.使用自定义方法
虽然这里面已经包含了很多的表达式(方法)但是在实际项目中很有可能出现需要自己自定义逻辑的情况。
判断登录用户是否具有访问当前URL权限。
2.1新建接口及实现类
新建接口com.msb.service.MyService后新建实现类。
public interface MyService { boolean hasPermission(HttpServletRequest request, Authentication authentication);}
@Componentpublic class MyServiceImpl implements MyService { @Override public boolean hasPermission(HttpServletRequest request, Authentication authentication) { Object obj = auth