学习笔记004——若依实现后端接口匿名访问(前后端分离版)

"本文介绍了如何在Spring Boot应用中通过SecurityConfig配置允许匿名访问特定接口,免去登录需求。主要步骤包括在`configure`方法中使用`.antMatchers("/myTest/**").permitAll()`开放权限,以及取消@PreAuthorize注解以允许无权限访问。同时,提供了访问接口的URL格式示例,并提及了使用的若依框架版本为v3.8.2。"

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、在 SecurityConfig.java 文件的 configue 方法中设置 httpSecurity 配置匿名访问。

文件位置在 ruoyi-framework 模块的 com.ruoyi.framework.config 包下。

// 使用 permitAll() 方法所有人都能访问,包括带上 token 访问
// 使用 anonymous() 所有人都能访问,但是带上 token 访问后会报错
.antMatchers("/myTest/**").permitAll()

2、匿名访问方法的 @PreAuthorize 权限注解也需要去掉。

例如本人的:

//将 @PreAuthorize 注释掉。这样改方法就可以匿名访问了。(无需登录)
//    @PreAuthorize("@ss.hasPermi('yunshe:case:list')")
@GetMapping("/list")
public TableDataInfo list(Case cases)
{
    startPage();
    List<Case> list = caseService.selectCaseList(cases);
    return getDataTable(list);
}

3、访问地址

先查看 ruoyi-admin 模块下的 application.yml 中的端口号。(可自定义)

localhost:端口号+接口映射路径 即可访问接口。(不用登录就可访问)

本文所用的若依版本 v3.8.2

PS:发博客,仅仅是当作学习的笔记~

### 若依框架匿名访问重定向配置 若依框架是一款基于Spring BootSpring Cloud开发的快速开发平台,其内置了丰富的功能模块以及权限管理系统。对于匿名访问重定向的需求,可以通过调整Spring Security的相关配置来实现。 #### Spring Security中的匿名访问处理机制 Spring Security提供了`permitAll()`方法用于允许某些路径无需认证即可访问[^2]。然而,在实际项目中,如果未登录用户尝试访问受保护资源,则通常会触发重定向到登录页面的行为。这种行为由Spring Security默认设置决定。 为了自定义匿名用户的重定向逻辑,可以修改`WebSecurityConfigurerAdapter`类下的`configure(HttpSecurity http)`方法。以下是具体的实现方式: ```java @Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests() .antMatchers("/login", "/register").permitAll() // 设置不需要身份验证的路径 .anyRequest().authenticated() // 所有其他请求都需要身份验证 .and() .exceptionHandling() .authenticationEntryPoint(new AnonymousAuthenticationEntryPoint()); // 自定义匿名访问入口点 } ``` 其中,`AnonymousAuthenticationEntryPoint`是一个实现了`AuthenticationEntryPoint`接口的类,用来指定当用户未通过身份验证时应执行的操作。下面展示了一个简单的例子: ```java public class AnonymousAuthenticationEntryPoint implements AuthenticationEntryPoint { @Override public void commence(HttpServletRequest request, HttpServletResponse response, AuthenticationException authException) throws IOException, ServletException { String redirectUrl = "/unauthorized"; // 定义匿名用户被拒绝后的跳转地址 response.sendRedirect(redirectUrl); } } ``` 上述代码片段表明,任何未经身份验证而试图访问受限资源的用户都将被重定向至`/unauthorized`路径下[^1]。 #### 总结 通过对Spring Security核心组件的理解与运用,可以在若依框架内轻松完成针对匿名访问者的个性化重定向策略设定。这不仅增强了系统的灵活性,也提升了用户体验满意度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值