前言
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。
ruoyi是一套基于java开发的轻量级开源快速开发框架,采用Spring Boot+Spring Security+MybatisPlus框架技术。ruoyi框架内部采用分模块设计,代码清晰简单易于维护,同时提供多种组件,如代码生成、前后端分离、数据权限管理等,可以快速开发出完整的项目。以下简称ruoyi。
以下内容是我的解决方法:
提示:以下是本篇文章正文内容,下面案例可供参考
一、在 SecurityConfig 中设置httpSecurity 配置匿名访问
这里区分一下下面两个方法:
anonymous() 允许匿名用户访问,不允许已登入用户访问
permitAll() 不管登入,不登入 都能访问
/ 使用 permitAll() 方法所有人都能访问,包括带上 token 访问
.antMatchers("/admins/**").permitAll()
// 使用 anonymous() 所有人都能访问,但是带上 token 访问后会报错
.antMatchers("/admins/**").anonymous()
二、在对应的方法或类上面使用@Anonymous注解
Anonymous注解 允许 匿名访问不鉴权
代码如下(示例):
// 类上定义匿名注解,作用于所有的方法
@Anonymous
@RestController
@RequestMapping("/system/xxxx")
public class SysXxxxController extends BaseController
{
}
// 方法定义匿名注解,作用于单独的方法
@Anonymous
@GetMapping("/list")
public List<SysXxxx> list(SysXxxx xxxx)
{
return xxxxList;
}
总结
提示:这里对文章进行总结:
警告
匿名访问的方法上面@PreAuthorize权限注解也需要去掉,因为已经使用匿名访问了,权限自然也不需要去验证了。
前端不登录如何直接访问
如果是前端页面可以在src/permission.js配置whiteList属性白名单即可。