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

Spring MVC安全性不起作用

百里海超
2023-03-14
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

    <!-- The definition of the Root Spring Container shared by all Servlets 
        and Filters -->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/spring/root-context.xml</param-value>
    </context-param>

    <!-- Creates the Spring Container shared by all Servlets and Filters, the 
        root application context is created by it -->
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

    <!-- Processes application requests -->
    <servlet>
        <servlet-name>appServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>appServlet</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

</web-app>

securityconfig.java

package com.channelit.example;

import org.springframework.beans.factory.annotation.Autowired;

    import org.springframework.context.annotation.*;
    import org.springframework.security.config.annotation.authentication.builders.*;
    import org.springframework.security.config.annotation.web.configuration.*;

    @Configuration
    @EnableWebSecurity
    public class SecurityConfig extends WebSecurityConfigurerAdapter {

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

共有1个答案

谷梁子濯
2023-03-14

SecurityConfig类中缺少限制url。

将此代码段添加到您的SecurityConfig类中,如下所示:

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

      http.authorizeRequests()          
        .antMatchers("/your_restrict_url_here/**").access("hasRole('USER')")
        .and().formLogin();

    }

你可以在这里参考更多的细节。

 类似资料:
  • 问题内容: 当我尝试创建Java jersey应用程序身份验证角色时,对我来说不起作用。 Java代码: } 部署描述符:- 标头:- 请给我一些帮助。我想知道为资源分配角色。 问题答案: 所以你需要做三件事 第一.. 在Tomcat中设置安全领域(我假设是的服务器)。您可以在Realm Configuration HOW-TO上 阅读有关创建领域的更多信息。 最容易配置的领域是UserDatab

  • 我有一个Firestore集合,结构如下: 但是,当我试图保护集合以只允许上面的快照(而不是对集合中其他文档的请求)时,我的权限是不正确的。这是我尝试过的: 我也试过: 它似乎有效,但不允许我访问文档的子集合。我需要rules方法才能工作。 在我列出答案之前,我会给一些时间,以防更有经验的人有更好的解决方案。

  • 问题内容: 这个问题不太可能对将来的访客有所帮助;它仅与较小的地理区域,特定的时间段或极为狭窄的情况(通常不适用于Internet的全球受众)有关。要获得使该问题更广泛适用的帮助,请访问帮助中心。 7年前关闭。 本地npm-packages可以按预期工作,但是对我来说,让全局安装的软件包运行是不可能的。它甚至不会引发任何错误,它只是不执行任何操作(快递,咖啡等。) 在我想使用咖啡脚本之前,这并没有

  • 我有一些问题。我为我的应用程序使用了Spring Security,当我标记方法注释@安全(“ROLE_ADMIN”)时,它不起作用。 这security-config.xml 身份验证有效。数据库中的角色是正确的。此代码也有效。

  • 我想将我的项目迁移到空安全,但是dependecie不支持空安全:

  • 你好自从我第一次尝试运行命令“mvn clean install”以来,一直出现此错误: [INFO]构建失败[INFO] - [INFO]总时间:41.009 s [INFO]完成时间:2022-09-24t 11:12:43-03:00[INFO]-[ERROR]未能执行目标org . Apache . maven . plugins:maven-compiler-plugin:3 . 8 .