登录阶段
    登录后首先判断缓存中是否存在答案(一次拿出后缓存立刻删除数据),如果登录失败的话异步开一个线程记录日志,如果成功,调用spring security的方法去查询对象,登录成功记录日志,并通过spring security创建一个具有对应用户实例和相应token的对象进行返回,并在redis中存一个loginuser对象

    商机捞取没有权限的问题
    @PreAuthorize是spring security框架提供的用于校验用户权限是否能正常执行方法的注解,该注解直接调用PermissionService业务类的hasPermi并传入放行的权限,其方法中从请求中拿到token(解析其中存的uuid拼接成key并从缓存中拿到loginuser对象)并校验返回判断是否能执行对应的业务逻辑