权限控制之异常处理方式二|学习笔记

简介: 快速学习权限控制之异常处理方式二

开发者学堂课程【Spring Security知识精讲与实战演示(二):权限控制之异常处理方式二】学习笔记与课程紧密联系,让用户快速学习知识

课程地址https://developer.aliyun.com/learning/course/731/detail/13054


权限控制之异常处理方式二

 

web.xml处理异常

在spring security的这个配置文件中,可以处理403异常,但是这种方式不推荐使用,因为这种方式太单一,假如只处理了403,别的异常工作还需要额外的处理,应该有一个更加通用的方式,不管有什么异常,都可以处理,其实select contact容器,或者说Tomcat也提供了一种处理异常的机制,当前这个项目作为一个外部工程,是可以去使用select contact 规范中的异常处理,他的异常处理只需要打开web.mxl,可以在这里边处理各种各样的异常,比如要处理403异常,要一个一个处理,统一处理也是可以的,但是要分开,写上一个error-page配置,403肯定是跳转到403,这就意味着今后所有的异常都往403去跳,这个对于用户来说不太友好,因为它出错可以出错,但是一定要告诉错在什么地方,账户为什么出问题,否则,如果盲目地跳到一个通用的页面,将来可能认为这个系统有问题,所以可以在上面加上一个叫error-code,按照这里面可以就只处理403,别的就不用处理了,同样的道理,这里边error-page可以有很多个,比如现在处理404,列出两个,把它改成404,正好有404的页面,现在这里边就是两个异常都可以处理,测试启动项目,这里面可以配多个,可以继续往下贴,但是根据公司自己情况,一般情况下也就403404,然后500,所有其他异常都是500,

image.png

然后再一次重新登录,继续用xiaoma登录,登录成功后,访问订单,这步没有错误,继续访问产品,403没问题,这证明现在上面这段起作用,再试一下404,将product find All后加多个ssssss。回车,是404,虽然都是错误,但是错误码不一样,跳转的页面也就不一样,但是也不是最佳方案,因为现在特定曲线性,用的是外部工程,如果将目光放长远一点,会发现市面上企业开发中,多数是前后端绝对分离的效果,其实外部工程用的很少,基本都是java工程,,比如将来用thoughbot,根本找不着web.xml当然thoughbot就加不了web.xml,能加但是需要写配置类,而不是配置文件,有一个通用的方案是 spring中有一种特殊的功能,叫拦截器,这个拦截器跟外部工程中的过滤器非常的像,但是最大的一个区别就是过滤器必须在外部工程中使用。也就是必须配置到web.xml中,但是拦截器没有这个限制,只要用了 spring 就可以使用拦截器。不是外部工程,将来可以用来拦截器,但是过滤器是用不了的,没有 web.xml 这一段是用不了的

<!--处理403异常--><error-page>

<error-code>403</error-code><location>/403.jsp</location)</error-page

<!--处理404异常--><error-page

<error-code>404</error-code><location>/404.jsp</location)</error-page),但是可以使用拦截器,也不是最佳方案,最佳方案其实最终都要归宿到spring上,所以现在企业开发中,基本上都是向spring去靠拢,最好使用spring提供的解决方案。

相关文章
|
2月前
|
前端开发 Java Spring
统一异常处理
统一异常处理
23 2
|
1天前
|
安全 Java 关系型数据库
实现权限控制的方法
实现权限控制的方法
|
10月前
全局统一异常处理
全局统一异常处理
42 0
|
12月前
|
前端开发 JavaScript Java
SpringBoot 统一功能处理:用户登录权限校验-拦截器、异常处理、数据格式返回
本篇将要学习 Spring Boot 统一功能处理模块,这也是 AOP 的实战环节 用户登录权限的校验实现接口 HandlerInterceptor + WebMvcConfigurer 异常处理使用注解 @RestControllerAdvice + @ExceptionHandler 数据格式返回使用注解 @ControllerAdvice 并且实现接口 @ResponseBodyAdvice
430 0
|
数据安全/隐私保护
服务器端方法级权限控制----------@Secured注解的使用
服务器端方法级权限控制----------@Secured注解的使用
|
消息中间件 JavaScript 小程序
SpringBoot 统一功能处理:用户登录权限校验-拦截器、异常处理、数据格式返回 下
SpringBoot 统一功能处理:用户登录权限校验-拦截器、异常处理、数据格式返回 下
SpringBoot 统一功能处理:用户登录权限校验-拦截器、异常处理、数据格式返回 下
|
JavaScript 前端开发 小程序
SpringBoot 统一功能处理:用户登录权限校验-拦截器、异常处理、数据格式返回 上
SpringBoot 统一功能处理:用户登录权限校验-拦截器、异常处理、数据格式返回 上
|
安全 Java 数据安全/隐私保护
OAuth2.0实战!玩转认证、资源服务异常自定义这些骚操作!
OAuth2.0实战!玩转认证、资源服务异常自定义这些骚操作!
|
数据安全/隐私保护
Yii2如何实现访问控制?底层原理是什么?
Yii2如何实现访问控制?底层原理是什么?
|
前端开发 Java 数据库
@RestControllerAdvice 统一异常处理
@RestControllerAdvice 统一异常处理
@RestControllerAdvice 统一异常处理