
SpringBoot项目
嘻嘻哈哈Man
这个作者很懒,什么都没留下…
展开
-
使用百度人脸识别实现人脸识别后端逻辑
百度人脸识别APIhttps://ai.baidu.com/ai-doc/FACE/yk37c1u4t获取access_token由于百度API的access_token会定期更新,所以每次请求时就重新获取一个tokenpackage com.example.emoswx.baiduFaceCheck;import org.json.JSONObject;import org.springframework.stereotype.Component;import java.io.Buffer原创 2022-05-02 11:52:00 · 1192 阅读 · 0 评论 -
简化异常返回消息
/** * 精简返回给客户端的异常 * 后端数据验证异常 * 未授权异常HttpStatus.SC_UNAUTHORIZED(Filter中token验证失败等设置的未授权异常) * EmosException(自定义异常) * 普通异常 */@Slf4j //日志模块@RestControllerAdvice //@RestControllerAdvice都是对Controller进行增强的,可以全局捕获spring mvc抛的异常。public class ExceptionAdvic原创 2022-03-12 17:46:00 · 322 阅读 · 0 评论 -
Shiro+JWT实现认证和授权
流程:1、将token(JWT生成和验证)封装成认证对象(使用ThreadLocal保证线程安全)2、定义认证与授权的实现方法(Realm类)3、拦截HTTP请求,验证Token(Filter)4、把设置应用到Shiro框架(创建ShiroConfig回传四个对象)5、 回传token:使用AOP拦截Web对象返回方法,从ThreadLocalToken中获取token写入返回对象,然后返回。代码实现JWT加密和验证token/** * JWT对userId进行加密生成token原创 2022-03-12 12:58:52 · 1013 阅读 · 0 评论 -
SpringBoot防止跨站脚本攻击Xss(覆盖Http请求,对http请求进行转义)
流程:1、导入依赖hutool(提供一些Utile工具类)2、定义请求包装类继承HttpServletRequestWrapper对数据进行转义3、创建过滤器,将请求拦截并传入自定义包装类中4、主类添加@ServletComponentScan扫描过滤器(@WebFilter)1、hutool提供一写工具类HtmlUtil、StrUtil <dependency> <groupId>cn.hutool</groupId>原创 2022-03-07 21:32:17 · 928 阅读 · 0 评论 -
封装web返回对象
/** * 封装web返回对象 * 统一数据返回格式:业务状态码、业务消息 * 虽然SpringMVC的Controller可以自动把对象转换成JSON返回给客户端,但是我们需要制定一个统一的标准, * 保证所有Controller返回的数据格式一致。最简便的办法就是定义封装类,来统一封装返回给客户端的数据。*/public class R extends HashMap<String,Object> { public R(){ put("code", Htt原创 2022-03-06 22:37:11 · 295 阅读 · 1 评论