-
spring security 自定义页面 4045
当我在spring-security添加自定义标签<http auto-config="true" > <intercept-url pattern="/views/home.jsp" access="ROLE_USER"></intercept-url> <intercept-url pattern="/**" access="ROLE_USER"></intercept-url> [color=red]<form-login login-page="/views/home.jsp" authentication-failure-url="/index.jsp" default-target-url="/views/login.jsp"/>[/color] </http> <authentication-manager> <authentication-provider user-service-ref="myUserDetailService"> </authentication-provider> </authentication-manager> <beans:bean id="myUserDetailService" class="sh.service.MyUserDetailService" />
在浏览器输入 http://localhost:8080/springsecurity/views/home.jsp 直接报404的错,但是当我注释掉<form-login login-page="/views/home.jsp" authentication-failure-url="/index.jsp" default-target-url="/views/login.jsp"/>
浏览器就会正常的进入到spring security自定义的登陆界面,请问为什么在加入自定义的标签就会报错2014年5月19日 22:41
3个答案 按时间排序 按投票排序
-
采纳的答案
默认情况下spring security是对所有的url做过滤的,也就是说,如果你在<http>前面没有设置任何其他内容的话,所有的URL(包括jsp)都会被过滤,也就是导致了无论你怎么输入URL,你都会跳掉loginFailed里面去。解决方法其实也很简单,需要在<HTTP>标签前面机上所有你不需要过滤的URL。如下是我的一个简易例子中的配置代码你可以参考下:
<global-method-security pre-post-annotations="enabled"></global-method-security> <!-- 用于定义不需要做SpringSecurity验证的URL,支持/*模糊匹配,其中/**标示多层目录,/*单层目录 --> <http pattern="/login!loginFailure.shtml" security="none" /> <http pattern="/login!loginSuccess.shtml" security="none" /> <!-- SpringSecurity的HTTPInterceptor链配置,可以通过auto-config="true"来配置默认属性,这个时候是直接冲<form-login/ >标签中登陆的。 access-denied-page用于配置登陆失败后的访问页面 --> <http auto-config="false" access-denied-page="/logfaile.jsp" create-session="always" entry-point-ref="authenticationProcessingFilterEntryPoint"> <!-- 用于登陆 --> <!-- <form-login login-processing-url="/j_acegi_security_check" default-target-url="/login!loginSuccess.shtml" authentication-failure-url="/login!loginFailure.shtml"/> --> <!-- 替换原先的用户登陆验证过滤器 --> <custom-filter ref="validateCodeAuthenticationFilter" position="FORM_LOGIN_FILTER" /> <logout /> <remember-me /> <!-- Session管理 invalid-session-url="/login.jsp" 设置session过期跳转页面--> <session-management session-fixation-protection="migrateSession" invalid-session-url="/login1.jsp"> <!-- --> <concurrency-control max-sessions="1" error-if-maximum-exceeded="true" expired-url="/login.jsp" /> </session-management> <!-- 自定义验证标示 --> <custom-filter ref="customSecurityFilter" after="FILTER_SECURITY_INTERCEPTOR" /> </http>
2014年5月20日 18:18
相关推荐
本文将深入探讨如何结合Spring MVC和Spring Security来实现自定义登录功能。 首先,Spring MVC是Spring框架的一部分,它为构建基于HTTP的Web应用程序提供了模型-视图-控制器架构。通过使用Spring MVC,开发者可以...
Spring Security自定义登录页面 在 Spring Security 框架中,默认的登录页面并不是很友好,特别是在实际项目中,我们通常需要使用自己的登录页面来满足业务需求。今天,我们将讨论如何自定义 Spring Security 的...
本资源“spring-security实现自定义登录认证.rar”包含了一个使用Spring Security进行登录认证的示例,以及JWT(JSON Web Tokens)与Spring Security集成的代码。 首先,让我们了解Spring Security的基本工作原理。...
**Spring Security 自定义数据库小项目概述** Spring Security 是一个强大且高度可定制的身份验证和访问控制框架,用于保护 Java 应用程序。本项目旨在演示如何利用 Spring Security 的灵活性,将权限管理与数据库...
在"Spring Security 3 多页面登录 小秘密小运气"这个主题中,我们可以深入探讨Spring Security 3如何支持多个登录页面以及其中可能涉及的一些技巧和策略。 首先,Spring Security的核心功能包括身份验证、授权、...
- **springsecurity-sample**:这个示例项目可能包含了从创建用户、角色到实现登录、权限控制的完整流程。你可以通过它学习如何配置Spring Security XML或Java配置,如何编写自定义的认证和授权逻辑,以及如何在...
- **自定义登录表单**: 如果需要自定义登录表单,可以在HTML页面中使用`<form>`元素,并通过Spring Security提供的隐藏字段(如`${_csrf.parameterName}" value="${_csrf.token}" />`)确保表单提交时携带CSRF令牌。...
- **XML配置**:Spring Security 原本支持XML配置,开发者可以在`security:http`标签下配置安全行为,如设置访问限制、登录页面等。 - **Java配置**:随着Spring Boot的发展,Spring Security也提供了Java配置方式...
在`SpringSecurity.md`和`SpringSecurity.pdf`文档中,可能包含SpringSecurity配置、自定义用户服务、授权策略等方面的代码示例。`codes`目录可能包含实际运行的项目代码,方便读者实践和理解。 8. **图笔记.draw...
自定义标签在Spring Security中扮演着重要角色,它们允许开发者在视图层(如JSP页面)轻松地应用安全控制。这通常通过使用Spring Security的JSP标签库来实现,例如`<sec:authorize>`,它可以判断当前用户是否有权限...
登录功能是Spring Security的基础,它提供了默认的登录页面和处理机制。你可以通过配置HttpSecurity来定制登录过程,例如设置登录URL、失败URL和成功处理器。Spring Security支持基于表单的身份验证,也支持OAuth2和...
在Spring Security框架中实现多个登录页面的配置是一项高级特性,主要应用于区分前端用户与后端管理员的不同登录需求。本文将详细介绍如何通过Spring Security配置多个登录页面,并为不同类型的用户设置不同的登录...
2. **自定义登录页面**:Spring Security默认提供了一个简单的登录页面,但你可能希望使用自己的。你可以创建一个自定义的登录表单,其中包含用户输入的用户名和密码,以及可能的隐藏字段来保存用户登录前的URL。 3...
《Spring Security 3.1 实现验证码自定义登录详解》 在现代Web应用程序的安全管理中,Spring Security是一个不可或缺的框架,它提供了强大的访问控制和身份验证功能。在本文中,我们将深入探讨如何在Spring ...
springsecurity(用spring ibatis freemaker)实现的用户自定义的权限管理页面, 里头包括数据库脚本 和原数据 和原代码 主要参考http://blog.csdn.net/k10509806/article/details/6369131 这个人的文章做的
### Spring Security 3.0.1 中文版知识点解析 #### 一、Spring Security 3.0.1 概览 ##### 1.1 Spring Security 是什么? Spring Security 是一个强大的、高度可定制的身份验证和访问控制框架。它提供了许多功能...
- 配置类:Spring Security可以通过自定义配置类进行初始化,例如 `WebSecurityConfigurerAdapter` 的子类,重写 `configure(HttpSecurity http)` 方法,定义安全规则。 - 登录配置:设置登录页面、登录处理器、...
- Spring Security 的验证机制允许开发者自定义认证过程,包括用户凭证的检查和存储。 - **直接设置 SecurityContextHolder 的内容**:允许在特定情况下直接设置用户的 Authentication 信息,从而绕过常规的身份...
3. **定义安全规则**: 在Spring Security配置文件中定义具体的认证和授权规则,如使用数据库存储用户信息、使用自定义登录页面等。 #### 四、Spring Security 2.x 概览 Spring Security 2.x不仅提供了强大的功能...