如果Spring security2未进行密码校验,请查看WEB.xml文件,这个文件中的springSecurityFilterChain配置项,是否被配置到了最后。如配置到最后则Spring security2是有可能不会执行j_spring_security_check进行密码校验的。Struts2中的WEB.xml配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>PGProject</display-name>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:applicationContext.xml
</param-value>
</context-param>
<filter>
<filter-name>struts-prepare</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter</filter-class>
<init-param>
<param-name>actionPackages</param-name>
<param-value>cn.com.pzhsteel.action</param-value>
</init-param>
</filter>
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter>
<filter-name>struts-execute</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsExecuteFilter</filter-class>
</filter>
<filter>
<filter-name>sitemesh</filter-name>
<filter-class>com.opensymphony.sitemesh.webapp.SiteMeshFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts-prepare</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>sitemesh</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts-execute</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<listener>
<listener-class>org.apache.struts2.tiles.StrutsTilesListener</listener-class>
</listener>
<listener>
<listener-class>org.apache.struts2.dispatcher.ng.listener.StrutsListener</listener-class>
</listener>
<servlet>
<servlet-name>sitemesh-freemarker</servlet-name>
<servlet-class>org.apache.struts2.sitemesh.FreemarkerDecoratorServlet</servlet-class>
<init-param>
<param-name>default_encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>sitemesh-freemarker</servlet-name>
<url-pattern>*.ftl</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>
分享到:
相关推荐
在Spring Security中,授权是在认证的基础上进行的。授权决定了用户在成功登录后能够访问的资源。通过角色和权限的定义,开发者可以将不同的用户与不同级别的权限关联起来,从而控制他们对应用资源的访问。在Spring ...
本篇将深入探讨如何利用Spring Security进行角色权限校验,并动态地从数据库中查询用户是否具有访问特定接口的权限。 首先,我们需要理解Spring Security的基本架构。它主要包括四个主要组件:认证(Authentication...
springsecurity1.2 引入SpringSecurity 2. 认证 2.1 登陆校验流程 2.2 原理初探 2.2.1 SpringSecurity完整流程 2.2.2 认证流程详解 2.3 解决问题 2.3.1 思路分析 2.3.2 准备工作 2.3.3 实现 2.3.3.1 数据库校验用户 ...
而当项目使用Spring作为基础框架时,配合Spring Security进行权限管理会更加方便。 在搭建开发环境方面,需要准备一系列开发工具和框架版本。Spring Security是Spring家族的成员,能够与Spring框架无缝对接,这为...
SpringSecurity提供了`OAuth2ClientContextFilter`和`OAuth2AuthenticationProcessingFilter`等组件,帮助开发者轻松集成这些服务。用户在我们的应用中点击第三方登录按钮,会被重定向到第三方服务的授权页面,授权...
Spring Security 提供了多种内置的密码编码器,如BCrypt、PBKDF2和SHA-256。然而,根据项目需求,可能需要自定义密码编码策略。可以创建一个实现了`PasswordEncoder`接口的类,实现自己的编码和校验逻辑。 **自定义...
SpringBoot+SpringSecurity整合示例代码,实现了从数据库中获取信息进行登录认证和权限认证。 本项目为idea工程,请用idea2019导入(老版应该也可以)。 本项目用户信息所需sql文件,在工程的resources文件夹下,...
1. **添加依赖**:首先,在`pom.xml`文件中引入Spring Security和JWT的相关依赖,如`spring-security-oauth2-jose`和`jjwt`库。 2. **配置Spring Security**:创建一个`SecurityConfig`类,继承`...
2. **SpringSecurity**:SpringSecurity是一个用于保护Web应用的安全框架,提供了身份验证、授权等功能。它通过一系列拦截器对HTTP请求进行过滤,确保只有经过认证和授权的用户才能访问特定资源。在这个项目中,...
自定义Spring Security的身份验证失败处理方法 在 Spring Security 中,身份验证失败处理方法是一个非常重要的组件,它能够帮助我们处理身份验证失败的情况。然而,默认的身份验证失败处理方法并不总是能够满足我们...
以下是在Spring Boot项目中使用Spring Security进行前后端分离配置的一个基本示例: ##### 3.1 依赖配置 在`pom.xml`文件中添加必要的依赖: ```xml <!-- Spring Security --> <groupId>org.springframework....
此外,Spring Security还支持OAuth2和OpenID Connect协议,允许与其他服务进行身份验证和授权的集成。这些特性在企业级应用中非常有用,因为它们可以与其他系统进行安全的数据交换。 总之,Spring Security 3的源...
2. **访问控制**:SpringSecurity通过定义访问决策管理器(Access Decision Manager)和访问决策策略(Voter)来实现授权功能。它可以基于角色(Role-Based Access Control, RBAC)、表达式(Expression-Based ...
这一过程通常包括用户名和密码的校验,一旦通过,系统将创建一个`Authentication`对象,其中包含了用户的详细信息,如权限和角色等,以此来标识用户的身份。 #### 授权(Authorization) 授权是指在认证成功后,确定...
SpringBoot+SpringSecurity+JWT+MybatisPlus实现基于注解的权限验证,可根据注解的格式不同,做到角色权限控制,角色加资源权限控制等,粒度比较细化。 @PreAuthorize("hasAnyRole('ADMIN','USER')"):具有admin或...
一个能够为基于Spring的企业应用系统提供声明式的安全訪问控制解决方式的安全框架(简单说是对访问权限进行控制嘛),应用的安全性包括用户认证(Authentication)和用户授权(Authorization)两个部分。用户认证指...
本项目以SpringBoot为基础,结合SpringSecurity进行权限控制,并利用JWT(JSON Web Tokens)实现用户身份验证,为初学者提供了一个实践学习的平台。下面我们将深入探讨这些技术的使用和整合。 **1. SpringBoot** ...
这些组件构成了Spring Security安全体系的基石,负责处理用户的身份验证、加载用户详细信息以及密码的存储和校验。 #### 安全过滤器链 Spring Security的安全过滤器链是其架构中的一个重要组成部分,它决定了请求...