java中的接口是类吗
399
2022-12-13
SpringSecurity权限控制实现原理解析
菜单控制:
可以用来判断这个用户是不是有这些角色,没有的话就不展示
数据控制:
由于数据都是从后端查的,在后端控制权限就可以了
pre-post-annotations="enabled" secured-annotations="enabled"/> 注:这个要放在mvOlWxyc的容器中,因为子容器可以访问到主容器,主容器访问不到子容器 /表示当前类中所有方法都需要ROLE_ADMIN或者ROLE_PRODUCT才能访问 @Controller @RequestMapping("/product") @RolesAllowed({"ROLE_ADMIN","ROLE_PRODUCT"})//JSR-250注解 public class ProductController { @RequestMapping("/findAll") public String findAll(){ return "product-list"; } } //表示当前类中findAll方法需要ROLE_ADMIN或者ROLE_PRODUCT才能访问 @Controller @RequestMapping("/product") public class ProductController { @RequeOlWxystMapping("/findAll") @PreAuthorize("hasAnyRole('ROLE_ADMIN','ROLE_PRODUCT')")//spring表达式注解 public String findAll(){ return "product-list"; } } //表示当前类中所有方法都需要ROLE_ADMIN或者ROLE_PRODUCT才能访问 @Contrhttp://oller @RequestMapping("/product") @Secured({"ROLE_ADMIN","ROLE_PRODUCT"})//SpringSecurity注解 public class ProductController { @RequestMapping("/findAll") public String findAll(){ return "product-list"; } } 但是会报403无法访问 方式一:在 spring-security.xml配置文件中处理 方式二:在 web.xml中处理 方式三:编写异常处理器 /** * @author WGR * @create 2020/3/2 -- 17:33 */ @ControllerAdvice public class ControllerExceptionAdvice { //只有出现AccessDeniedException异常才调转403.jsp页面 @ExceptionHandler(AccessDeniedException.class) public String exceptionAdvice(){ System.out.println("1234"); return "forward:/403.jsp"; } } 注:如果是spring项目,也要把这个扫描进去。
pre-post-annotations="enabled"
secured-annotations="enabled"/>
注:这个要放在mvOlWxyc的容器中,因为子容器可以访问到主容器,主容器访问不到子容器
/表示当前类中所有方法都需要ROLE_ADMIN或者ROLE_PRODUCT才能访问
@Controller
@RequestMapping("/product")
@RolesAllowed({"ROLE_ADMIN","ROLE_PRODUCT"})//JSR-250注解
public class ProductController {
@RequestMapping("/findAll")
public String findAll(){
return "product-list";
}
}
//表示当前类中findAll方法需要ROLE_ADMIN或者ROLE_PRODUCT才能访问
@Controller
@RequestMapping("/product")
public class ProductController {
@RequeOlWxystMapping("/findAll")
@PreAuthorize("hasAnyRole('ROLE_ADMIN','ROLE_PRODUCT')")//spring表达式注解
public String findAll(){
return "product-list";
}
}
//表示当前类中所有方法都需要ROLE_ADMIN或者ROLE_PRODUCT才能访问
@Contrhttp://oller
@RequestMapping("/product")
@Secured({"ROLE_ADMIN","ROLE_PRODUCT"})//SpringSecurity注解
public class ProductController {
@RequestMapping("/findAll")
public String findAll(){
return "product-list";
}
}
但是会报403无法访问
方式一:在 spring-security.xml配置文件中处理
方式二:在 web.xml中处理
方式三:编写异常处理器
/**
* @author WGR
* @create 2020/3/2 -- 17:33
*/
@ControllerAdvice
public class ControllerExceptionAdvice {
//只有出现AccessDeniedException异常才调转403.jsp页面
@ExceptionHandler(AccessDeniedException.class)
public String exceptionAdvice(){
System.out.println("1234");
return "forward:/403.jsp";
}
}
注:如果是spring项目,也要把这个扫描进去。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~