0

我是 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 赋予一些角色,或者它是怎么回事?

我很抱歉问了一些愚蠢的事情,但我想清除我的疑问。我也发现了一些很好的教程。

谢谢

4

1 回答 1

0

Q. 当有人写像 j_spring_security_check 时会发生什么?

--->j_spring_security_check是映射filterProcessesUrlorg.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter. 这启用了使用 Spring Security 的身份验证。但请记住,您必须将输入字段usernamepassword名称设置为j_usernamej_password

Q. 当像 (http://localhost:8080/SpringSecurityCheckExample/index) 这样的请求首先命中时会发生什么?

--->

  1. 检查用户是否已登录,如果未登录,则将用户带到登录页面。

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


它将转到身份验证管理器标签或 http 标签?

---> 它既不会去http标签也不会authentication-manager标签。在服务器启动时,Spring 类和过滤器将读取 XML 值。

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

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

查看Spring Security Docs以获取更多信息。

于 2012-08-07T14:50:27.197 回答