软件编程
位置:首页>> 软件编程>> java编程>> Spring Security中使用authorizeRequests遇到的问题小结

Spring Security中使用authorizeRequests遇到的问题小结

作者:泠青沼~  发布时间:2023-10-07 04:23:45 

标签:Spring,Security,authorizeRequests

SpringSecurity 框架简介

Spring 是非常流行和成功的 Java 应用开发框架,Spring Security 正是 Spring 家族中的成员。Spring Security 基于 Spring 框架,提供了一套 Web 应用安全性的完整解决方案。
正如你可能知道的关于安全方面的两个主要区域是“认证”和“授权”(或者访问控制),一般来说,Web 应用的安全性包括用户认证(Authentication)和用户授权(Authorization)两个部分,这两点也是 Spring Security 重要核心功能。

1、用户认证指的是:验证某个用户是否为系统中的合法主体,也就是说用户能否访问该系统。用户认证一般要求用户提供用户名和密码。系统通过校验用户名和密码来完成认证过程。通俗点说就是系统认为用户是否能登录。

2、用户授权指的是验证某个用户是否有权限执行某个操作。在一个系统中,不同用户所具有的权限是不同的。比如对一个文件来说,有的用户只能进行读取,而有的用户可以进行修改。一般来说,系统会为不同的用户分配不同的角色,而每个角色则对应一系列的权限。通俗点讲就是系统判断用户是否有权限去做某些事情。

🌟 一、运行项目报错

 at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:658) ~[spring-beans-5.3.22.jar:5.3.22]
 at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:486) ~[spring-beans-5.3.22.jar:5.3.22]
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352) ~[spring-beans-5.3.22.jar:5.3.22]
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195) ~[spring-beans-5.3.22.jar:5.3.22]
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) ~[spring-beans-5.3.22.jar:5.3.22]
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) ~[spring-beans-5.3.22.jar:5.3.22]
 at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.22.jar:5.3.22]
 at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.22.jar:5.3.22]
 at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.22.j

具体错误原因为:permit()只能在authorizeRequests中使用

Spring Security中使用authorizeRequests遇到的问题小结

🌟 二、错误修正

@Override
   protected void configure(HttpSecurity http) throws Exception {
       http.authorizeHttpRequests()//错误error
               .anyRequest().authenticated()
               .and()
               .formLogin()
               .usernameParameter("username")
               .passwordParameter("password")
               .loginProcessingUrl("/doLogin")
               .loginPage("/login")
               ......

改为:

@Override
   protected void configure(HttpSecurity http) throws Exception {
       http.authorizeRequests()//修正后
               .anyRequest().authenticated()
               .and()
               .formLogin()
               .usernameParameter("username")
               .passwordParameter("password")
               .loginProcessingUrl("/doLogin")
               .loginPage("/login")
               ......

来源:https://blog.csdn.net/m0_46635265/article/details/128838957

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com