Spring Security 中的自定义PreAuthorize 注解
controller: @NeedAdmin @GetMapping(path ="user", produces ="application/json") publicResponseEntity<User> getUser(@RequestParamString login){ ... } 自定义注解anno: @PreAuthorize("hasAuthority('Admin')") @Target({ElementType.METHOD, ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) public @interface NeedAdmin { }
Expected one result (or null) to be returned by selectOne(), but found: 2
mybatis-plus中getOne方法只能取一条数据,如果取得多条数据会报错,要么换其他方法,要么只选择其中一条,在条件构造器Wrapper结尾加上.last(“limit 1”)即可只选一条(第一条) //根据时间获取gift private Gift generateGift(String openid) { LambdaQueryWrapper<Gift> query = new LambdaQueryWrapper<>(); query.eq(Gift::getUsed, 0); query.le(Gift::getWintime, TimeUtil.getNowTimeDate()); query.last("limit 1"); boolean fl...
JACKSON和FASTJSON处理返回JSON数据中为NULL字段不显示
JACKSON 1.实体上 将此注解放在属性上,如果该属性为null则不参与序列化(为null的字段不显示) 如果放在类上边,那对这个类的全部属性起作用,展示所有字段。 @JsonInclude(JsonInclude.Include.ALWAYS) //放在类上,展示所有字段 Include.Include.ALWAYS 默认展示所有字段 Include.NON_DEFAULT 属性为默认值不序列化 Include.NON_EMPTY 属性为 空("") 或者为 NULL 都不序列化 Include.NON_NULL 属性为NULL 不序列化 FASTJSON package com.aiqin.bms.slcs.api.config; import com.ali...
mybatis报错 : Caused by: java.lang.IllegalStateException: Can not find owner from table.
示例: select * from ( select id from test ) as a GROUP BY a.id Caused by: java.lang.IllegalStateException: Can not find owner from table. 上面这段代码在navicat内可以正常运行,通过mybatis运行就会抛出(Caused by: java.lang.IllegalStateException: Can not find owner from table.)的异常。。。 后来我把 a.id 改成 id 后mybatis也可以正常运行了 改后的代码如下 select * from ( select id from test ) as a GROUP BY id ———————————————— 版权声明:本文为CSDN博主「墨语wcy」的原创文章,遵循C...
springsecurity跨域
@Log4j2 @Configuration public class WebConfig extends WebMvcConfigurationSupport { /** * 解决跨域请求 * * @param registry */ @Override public void addCorsMappings(CorsRegistry registry) { // 设置允许跨域的路由 registry.addMapping("/**") // 设置允许跨域 请求的域名 .allowedOriginPatterns("*") .allowedHeaders("*") // 允许任何请求头 // 是否允许证书(cookies) ...
springboot登录失败3次后需要验证码的设计及实现
前言: 不用验证码是方便登陆,用验证码是为了防止暴力破解。为了即能满足方便,同时防止暴力破解,需要使用用户登陆失败3次后出现验证码。 1. 登陆失败次数记录, 在login 中查询并记录用户登陆失败次数 WARNING: 无论验证成功还是失败,前端都刷新验证码。后端验证码用一次就失效 @RequestMapping("/login") public Result login(@RequestBody LoginBody loginBody){ int errorTimes = redis.get(loginBody.getUsername()+"-loginError"); bool needKaptcha = false; if(errorTimes>2...
PAGEHELPER分页插件查询速度慢的解决方法
网上推荐的方案都重写PAGEHELPER的SELECT COUNT()方法 重写pageHelper的select COUNT()方法: ###这篇博客最后的参考文章里有xml版的重写方法,这里我只给出mapper接口的方法: 注意命名方式(在查询函数后面增加 _COUNT)和返回类型(必须为long),这样就覆盖了pagehelper的方法了。pagehelper会自动扫描,不需要进行其他的操作。 这样就可以使用SQL强制使用我们自己的索引啦!!! select count(0) from t_product FORCE INDEX(category_index) where 1=1 and category=2
Mybatis —— 解决单引号带来的sql注入问题
问题 当使用${}写sql时,如果输入的字段中含有单引号,就会发生sql注入,改变原有的sql逻辑,应该如何处理呢? 解决 将单引号,替换为两个单引号即可。 String regexp = "\'"; str.replaceAll(regexp, "\'\'");
idea智能提示插件
IntelliJ IDEA | Install Tabnine Autocomplete for IntelliJ IDE
JetBrains全系列软件激活教程激活码以及JetBrains系列软件汉化包
2022最新: 激活码: code1 其它: 如果使用重置脚本依然无法进入工具,可使用以下临时激活码激活,在使用插件:IDEA激活码下载地址:https://www.jihuooo.com/jhm/code1.zip webstorm激活码下载地址:https://www.jihuooo.com/jhm/code2.zip pycharm激活码下载地址:https://www.jihuooo.com/jhm/code3.zip 激活插件: 【请解压】JetBrains 2021.3.x 最新激活插件,可自定义有效_ja-netfilter-v2.2.2 激活教程: IntelliJ IDEA 2021.3.2永久破解激活教程(可自定义有效期,亲测有效) - 码霸霸 (lupf.cn) ...