SpringSecurity自定义登录页面和跳转页面

若是咱们不用form-login说明登录界面,springsecurity框架将自动为咱们生成登录界面spring

如今咱们不想用自动生成的登录界面了,而想使用自定义的漂亮的登录界面框架

则须要使用<security:form-login/>标签jsp

login-page:指定登录页面ide

login-process-url:表单提交的地址url

password-parameter:表示登陆时密码使用的是哪一个参数,默认是 “j_passwordspa

username-parameter:表示登陆时用户名使用的是哪一个参数,默认是 “j_usernamecode

default-target-url:登录成功之后跳转的页面,用该元素时,需设置always-use-default=trueorm

authentication-failure:登录失败之后跳转的页面xml

登录成功和登录失败也能够专门写一个类,在类中指定跳转的界面,而后配置一个bean经过ref指定对应处理页面的bean,由于我以为过于复杂,没有采用这种方法,这里也就提一下有这种方法blog

 

具体的springsecurity配置文件以下:

 1 <beans xmlns="http://www.springframework.org/schema/beans"
 2        xmlns:security="http://www.springframework.org/schema/security"
 3        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4        xsi:schemaLocation="http://www.springframework.org/schema/beans
 5           http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
 6           http://www.springframework.org/schema/security
 7           http://www.springframework.org/schema/security/spring-security-3.1.xsd">
 8 
 9         <!--
10         自定义表单,经过form-login标签
11         authentication-failure-url指定登录失败之后应该跳转的页面
12         default-target-url指定登录成功之后跳转的页面,默认的是index.jsp页面
13         -->
14     <security:http auto-config="true">
15         <security:form-login login-page="/login.jsp"
16                              login-processing-url="/login.do" username-parameter="username"
17                              password-parameter="password"
18                              default-target-url="/successful.jsp"
19                              authentication-failure-url="/login_failure.jsp"
20                              always-use-default-target="true"
21         />
22         <!-- 表示匿名用户能够访问 -->
23         <security:intercept-url pattern="/login*.jsp*"
24                                 access="IS_AUTHENTICATED_ANONYMOUSLY" />
25         <security:intercept-url pattern="/**" access="ROLE_USER" />
26     </security:http>
27 
28     <security:authentication-manager>
29         <security:authentication-provider>
30             <security:user-service>
31                 <security:user name="user" password="user" authorities="ROLE_USER"/>
32                 <security:user name="admin" password="admin" authorities="ROLE_USER, ROLE_ADMIN"/>
33             </security:user-service>
34         </security:authentication-provider>
35     </security:authentication-manager>
36 
37 </beans>

咱们须要给login.jsp放行,否则咱们将不能访问到,放行有两种方法,我选择的是将access设置为“IS_AUTHENTICATED_ANONYMOUSLY”,固然也能够设置为  “ROLE_ANONYMOUS

另一种是将security设置为none,具体代码以下:

1  <security:http security="none" pattern="/login.jsp" />
2    <security:http auto-config="true">
3       <security:form-login login-page="/login.jsp"
4          login-processing-url="/login.do" username-parameter="username"
5          password-parameter="password" />
6       <security:intercept-url pattern="/**" access="ROLE_USER" />
7    </security:http>
相关文章
相关标签/搜索