springSecutity的demo测试(二)

    xiaoxiao2022-07-04  126

    昨天完成了基本的配置用的是框架自带的页面。

    这一节,实现自己写的页面之间的权限管理。

    1.创建一个login.html文件,一个error.html文件,一个index.html文件 放在webapp目录下。

    1.2写一个简单的登录窗口,login.html

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>欢迎登录!!!</title> </head> <body>     <form action="/login" method="post">         用户名<input type="text" name="username"> </br>         密码<input type="password" name="password"> </br>         <input type="submit" value="登录">           </form> </body> </html>

    1.3 error.html

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>error页面</title> </head> <body>     <h1> 欢迎来到error</h1> </body> </html>

    1.4 index.html

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>index页面</title> </head> <body>     <h1> 欢迎来到index</h1> </body> </html>

    2. 在spring-security.xml中添加配置

    2.1 放行初始的页面

    2.2修改登录和跳转页面

    2.3 设置csrf,这鬼是什么东西我也不太明白。

     

    整个的xml文件如下

    <?xml version="1.0" encoding="UTF-8"?> <bean:beans xmlns="http://www.springframework.org/schema/security"     xmlns:bean="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     xsi:schemaLocation="http://www.springframework.org/schema/beans  http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/security  http://www.springframework.org/schema/security/spring-security.xsd">     <!-- 放行一些不需要拦截的窗口页 -->     <http pattern="/login.html" security="none"></http>     <http pattern="/error.html" security="none"></http>     <http pattern="/*.ico" security="none"></http>     <http>         <intercept-url pattern="/*" access="hasRole('ROLE_USER')" />                  <!-- 1.设置默认登录的login页面,2.设置登录成功后的默认跳转页,3.设置权限验证失败后的跳转页面 -->         <form-login login-page="/login.html" default-target-url="/index.html"         authentication-failure-url="/error.html"/>                  <!-- 设置跨域不拦截 -->         <csrf disabled="true"/>     </http>     <!-- 认证管理器 -->     <authentication-manager>         <authentication-provider>             <user-service>                 <user authorities="ROLE_USER" name="admin" password="admin" />             </user-service>         </authentication-provider>     </authentication-manager> </bean:beans>

     

    3. 效果如下

    3.1 输入正确的用户名和密码,跳转到index页面 

     

    3.2再输入一个错误的用户名或密码,跳转到了错误的页面

    4 总结。

    4.1 在添加跳转路径的时候要注意不要忘记“/” ,

    不然会出现如下错误。

     

    4.2 另外在login的表单提交方式上,要设置method属性,可以是post也可以是get。但是如果没有这个属性,就一直不能跳转,一直在login页面打转。

    最新回复(0)