Dav*_*rks 17 java spring-mvc spring-security
简单的问题,我只需要一个正确方向的指针:
我有一个简单的Spring MVC/Spring Security webapp.起初,我成立了春季安全,这样的默认登录页显示,妥善认证(我实现了UserDetailsService与DaoAuthenticationProvider要做到这一点).
下一步:使用我的登录页面替换默认的spring登录页面并发布凭据.
但是我如何处理提交的登录凭据?我假设我将表单发布到控制器,验证凭据,但我不清楚在此之后正确的步骤是什么.例如:
我已经完成了3次文档,并没有完全遵循它们.我知道这很简单,所以我只需要听听过程应该如何流动.
Dav*_*rks 20
我会为将来阅读此内容的人添加澄清答案:
当您在spring security中定义标记时,它将为您处理登录,我将详细介绍它的工作原理(希望它在文档中详细说明):
<security:http auto-config="true">
<security:form-login login-page="/login"
login-processing-url="/postlogin"
default-target-url="/myaccount"
authentication-failure-url="/login?loginError=true" />
<security:logout logout-url="/logout" />
</security:http>
Run Code Online (Sandbox Code Playgroud)
在登录页面是登录页面的URL.你应该有一个服务于这个页面的控制器(或静态HTML页面),这是你漂亮的登录表单.
的登录处理-URL是其中表单登录组件处理的URL.就像表单登录组件为此页面实现了自己的控制器一样.您应该将表单发布到此页面.您还需要知道如何命名您的用户名/密码参数"j_username"和"j_login"
除此之外,以及上面其他相当明显的选项,您应该实现一个UserDetailsService- 即创建一个类并实现UserDetailsService获取并返回UserDetails给定用户名的对象(用户名/密码)的接口- 并提供UserDetails具有其余安全配置的对象:
<security:authentication-manager>
<security:authentication-provider ref="daoAuthenticationProvider" />
</security:authentication-manager>
<bean id="daoAuthenticationProvider"
class="org.springframework.security.authentication.dao.DaoAuthenticationProvider" >
<property name="userDetailsService" ref="myAuthorizationService" />
</bean>
Run Code Online (Sandbox Code Playgroud)
Nee*_*aks 11
Spring Security 参考文档概述了Web应用程序中5.4身份验证的基本处理流程.有点#6:
接下来,服务器将决定所呈现的凭证是否有效.如果它们有效,下一步就会发生.如果它们无效,通常会要求您的浏览器重试(因此您将返回上面的第二步)....
Spring Security有不同的类负责上述大多数步骤.主要参与者(按照它们使用的顺序)是ExceptionTranslationFilter,AuthenticationEntryPoint和" 认证机制 ",它负责调用我们在上一节中看到的AuthenticationManager.
我不得不承认,这里的文档有点令人困惑所以我会给你一些指针 - 这里提到的" 身份验证机制 "就是你所追求的东西,它负责处理浏览器发送的凭据.
由于将凭证附加到HTTP请求的细节在不同的身份验证方法(表单数据与普通标头与摘要标头)之间差异很大,因此没有通用的" 身份验证机制 " - 相反,每个方法都实现了自己的机制和在基于Web的身份验证的情况下,它通常是您必须配置的特殊过滤器web.xml.
在您的情况下,您很可能对UsernamePasswordAuthenticationFilter感兴趣- 这用于处理基本的基于表单的登录信息.您的自定义登录表单和过滤器之间的合同是URL(发布表单的位置)+用户名和密码字段名称:
登录表单只包含j_username和j_password输入字段,并发布到过滤器监视的URL(默认情况下为/ j_spring_security_check).
| 归档时间: |
|
| 查看次数: |
45096 次 |
| 最近记录: |