spring_security之Web权限配置

1.web.xml加入spring配置如下:

Java代码   收藏代码
  1. <filter>  
  2.    <filter-name>springSecurityFilterChain</filter-name>  
  3.    <filter-lass>org.springframework.web.filter.DelegatingFilterProxy  
  4.    </filter-class>  
  5. </filter>  
  6.   
  7. <filter-mapping>  
  8.   <filter-name>springSecurityFilterChain</filter-name>  
  9.   <url-pattern>/*</url-pattern>  
  10. </filter-mapping>  
  11.   
  12. //spring监听器  
  13. <listener>  
  14.   <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  
  15. </listener>  
 

2.security_authority.xml配置如下:

Java代码   收藏代码
  1. <http auto-config='true'>  
  2.      //指定要拦截的请求,以及拥有的权限      
  3.     <intercept-url pattern="/login.jsp" access="IS_AUTHENTICATED_ANONYMOUSLY"/>  
  4.     <intercept-url pattern="/reg.jsp" access="IS_AUTHENTICATED_ANONYMOUSLY"/>  
  5.     <intercept-url pattern="/admin.jsp" access="ROLE_ADMIN" />  
  6.     <intercept-url pattern="/index.jsp" access="ROLE_USER,ROLE_ADMIN" />  
  7.     <form-login login-page="/login.jsp" authentication-failure-url="/error.jsp" default-target-url="/index.jsp"/>  
  8.     //制定数据源,查询语句  
  9.     <authentication-manager>  
  10.         <authentication-provider>  
  11.             <jdbc-user-service data-source-ref="dataSource"  
  12.          users-by-username-query="select username,password,status as enabled   
  13.                      from user where username=?"  
  14.          authorities-by-username-query="select u.username,r.name as authority   
  15.                      from user u join user_role ur   
  16.                      on u.id=ur.user_id join role r   
  17.                      on r.id=ur.role_id where u.username=?" />  
  18.     </authentication-provider>  
  19.      </authentication-manager>  
  20.   
  21.  </http>  
 

3.数据库表结构如下:

Sql代码   收藏代码
  1. create table role(  
  2.     id bigint primary key auto_increment,  
  3.     name varchar(50),  
  4.     descn varchar(200)  
  5. );  
  6. create table user(  
  7.     id bigint primary key auto_increment,  
  8.     username varchar(50),  
  9.     password varchar(50),  
  10.     status integer,  
  11.     descn varchar(200)  
  12. );  
  13. create table user_role(  
  14.     user_id bigint,  
  15.     role_id bigint  
  16. );  
  17. alter table user_role add constraint pk_user_role primary key(user_id, role_id);  
  18. alter table user_role add constraint fk_user_role_user foreign key(user_id) references user(id);  
  19. alter table user_role add constraint fk_user_role_role foreign key(role_id) references role(id);  
 

4.login.jsp如下:

Html代码   收藏代码
  1. <fieldset>  
  2.     <legend>登陆</legend>  
  3.     //注意一下的j_spring_security_check、j_username、j_password不能改变名称  
  4.     <form action="j_spring_security_check" method="post">  
  5.     username:<input type="text"  name="j_username" value="${sessionScope['SPRING_SECURITY_LAST_USERNAME']}"/>  
  6.     </br>  
  7.     password:<input type="text" name="j_password"/>  
  8.     </br>  
  9.     <input type="checkbox" name="spring_security_remember_me" />两周之内不必登陆<br />  
  10.     <input type="submit" value="submit">|<input type="reset" value="reset">  
  11.     </form>  
  12. </fieldset>  
  13.   
  14. //错误信息  
  15. ${sessionScope['SPRING_SECURITY_LAST_EXCEPTION'].message }  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值