当前位置: 首页 > 知识库问答 >
问题:

Spring Security-配置HttpSecurity

岳俊雅
2023-03-14

我是Spring Security的新手,我正在尝试使用Spring Security创建一个登录表单

这是必需的方案:

1)用户使用用户名-密码登录应用程序(请注意,我使用的是Spring Security提供的默认登录页面)2)如果登录正常,用户会转到eventList.jsp3)如果登录为KO(错误的凭据),则会显示错误

My WebSecurityConfigurerAdapter configurations:

@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
    auth.inMemoryAuthentication().withUser("amdin").password("111111").roles("USER");
}

@Override
protected void configure(HttpSecurity http) throws Exception {

    http
            .authorizeRequests()
            .anyRequest().authenticated()
            .and()
            .formLogin().defaultSuccessUrl("/eventList");
}

错误1:如果我插入正确的凭证,我看不到/eventList,但我会收到404(/spring-security-hello world-annotation/we b-INF/pages/log in . JSP)。为什么我没有被重定向到/eventList?(pheraps因为/eventList只接受我的RequestMapping批注中的GET?

@RequestMapping(value = {"/eventList"}, method = RequestMethod.GET)

错误2:如果我尝试“手动” /eventList,通过在浏览器中的URL末尾添加“eventList”,我可以在不执行登录操作的情况下访问请求的页面!!!我想在不执行登录操作的情况下访问的唯一URL是登录页面本身!!!

. anyRequest(). Authated()行不应该允许这一切!!!

我怎样才能得到我想要的?

提前预订

共有1个答案

权玉泽
2023-03-14

正确的安全链如下所示:

          http
                .authorizeRequests()
                .anyRequest().authenticated()
                .and()
                .formLogin()
                .loginPage("/login")
                .defaultSuccessUrl("/eventList")
                .permitAll()
                .and()
                .logout()
                .permitAll();

您忘记了< code>permitAll()语句以及定义< code>loginPage()希望有所帮助!如果你需要进一步的帮助,请给我发短信。

 类似资料:
  • 主要内容:1.入门,2.设置用户名和密码1.入门 1.启动一个SpringBoot项目 2.导入SpringSecurity相关依赖 3.编写Controller TestController.java 用户是user 密码是刚刚的 2.设置用户名和密码 1.在配置文件中设置 2.在配置类中设置 3.自定义实现类 2.1 配置文件中设置 2.2 在配置类中设置 设置用户名为zZZ,密码为root 2.3 自定义实现类 配置类: 业务类:

  • 在WAR的情况下,它试图将请求转发到/error页面,并寻找它的处理程序方法(请参见底部的日志)。 最后我得到以下回应: 我该换什么才能得到401?

  • 1.导入jar包 web.xml spring-security.xml

  • 本文向大家介绍SpringSecurity 测试实战,包括了SpringSecurity 测试实战的使用技巧和注意事项,需要的朋友参考一下 引言 试题管理系统的安全模块使用Spring Security,代码从原华软仓库移植,在移植的过程中,发现原测试编写的不好,遂在新系统中对安全模块测试进行了重构。 Spring 测试 添加@SpringBootTest注解,意为这是一个基于SpringBoot

  • 我正在设置Angular Spring Security模块来登录和注册用户。当我注册一个用户时,一切都正常。注册后的最后一步是自动登录,但我遇到了以下错误: XMLHttpRequest无法加载超文本传输协议//localhost:8080/com-tesis/login.请求的资源上不存在“访问控制允许起源”标头。因此不允许访问起源“超文本传输协议//localhost:9000”。响应的HT

  • 问题内容: 我目前正在评估基于Java的安全框架,我是Spring 3.0用户,因此似乎似乎SpringSecurity是正确的选择,但是Spring安全性似乎受到过分复杂的困扰,它似乎并没有使安全性易于实现, Shiro似乎更加连贯,更容易理解。我正在寻找这两个框架之间的利弊清单。 问题答案: 我也同意Spring Security对我来说感觉太复杂了。当然,他们已经做了一些降低复杂性的事情,例

  • 我在这里有很多问题要解决。一直试图将上述3项技术集成到我们的WebApp中…我们要使用 null web.xml: 我的servlet-context.xml: My manager-context.xml: 编辑2 我认为主要的问题是SpringSecurity需要webapp上下文(ContextLoaderListener)才能工作,但web应用程序是在servlet上下文中运行的。控制器方

  • 本文向大家介绍SpringBoot 配合 SpringSecurity 实现自动登录功能的代码,包括了SpringBoot 配合 SpringSecurity 实现自动登录功能的代码的使用技巧和注意事项,需要的朋友参考一下 自动登录是我们在软件开发时一个非常常见的功能,例如我们登录 QQ 邮箱: 很多网站我们在登录的时候都会看到类似的选项,毕竟总让用户输入用户名密码是一件很麻烦的事。 自动登录功能