Spring安全访问角色基础知识

时间:2012-08-07 11:49:35

标签: java spring spring-security

我是Spring Security的新手,并通过简单的Hello World种类程序。

我从这里得到了这个例子:http://www.roseindia.net/tutorial/spring/spring3/springsecurity/SpringSecurityCustomLoginForm.html

我无法获得正确的申请流程。

我在Spring HTML Form中找到了,像

一样

” 方法= 'POST' >

有人写作j_spring_security_check时会发生什么?

同样在security.xml即服务器端,

<http auto-config="true">
    <intercept-url pattern="/index*" access="ROLE_USER" />
    <form-login login-page="/login" default-target-url="/index" authentication-failure-url="/failLogin" />
    <logout logout-success-url="/logoff" />
</http>

<authentication-manager>
    <authentication-provider>
        <user-service>
            <user name="admin" password="roseindia" authorities="ROLE_USER" />
        </user-service>
    </authentication-provider>
</authentication-manager>

那么请求时会发生什么(http:// localhost:8080 / SpringSecurityCheckExample / index) 会先命中。

它会转到身份验证管理器标签还是http标签?

另外,我找到了一些写作的地方,

在这种情况下应该是cam_create?

另外, 如果我们从数据库检查uid和密码,那么我们是否必须为那些角色创建一个列,并为每个uid和pswd赋予一些角色,或者它是如何实现的?

我很遗憾地问傻事,但我想澄清我的怀疑。 我还发现了一些很好的教程。

由于

1 个答案:

答案 0 :(得分:0)

  

Q值。当某人写作j_spring_security_check时会发生什么?

---&GT; j_spring_security_check是login-processing-url,它映射到filterProcessesUrl的{​​{1}}属性。这使用Spring Security启用身份验证。但请记住,您必须将输入字段org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilterusername设置为passwordj_username

  

Q值。当(http:// localhost:8080 / SpringSecurityCheckExample / index)这样的请求首次出现时会发生什么?

---&GT;

  1. 检查用户是否已登录,如果没有用户登录页面。

  2. 用户使用凭据登录。如果凭据有效,则用户将被带到j_password页面,如果凭据无效,则用户将被带到 authentication-failure-url =“/ failLogin”


  3.   

    它会转到身份验证管理器标签还是http标签?

    ---&GT;它既不会转到/index代码也不会转到http代码。服务器启动时,Spring类和过滤器将读取XML值。

      

    另外,如果我们从数据库检查uid和密码,那么我们是否必须在那里为角色创建一个列,并为每个uid和pswd赋予一些角色,或者它是如何的?

    ---&GT;是的,您需要为每个用户分配角色,您还必须将角色存储在数据库中。

    查看Spring Security Docs了解详情。