spring-security 常见错误 及简单配置

本文介绍了Spring Security在配置过程中遇到的常见错误及其解决方案,包括404问题、BadCredentialsException、AccessDeniedException,并详细讲解了如何配置登录控制、密码加密以及权限设置。同时,给出了配置文件、UserService、UserDao和UserInfo的相关代码示例,以及登录成功后的页面跳转设置。
摘要由CSDN通过智能技术生成

error-1:

项目加进spring-security后,项目启动后,任何页面都是空白,404...


Solution:

在spring-security.xml配置中

   <security:form-login
                login-page="/login.jsp"
                login-processing-url="/login.do"
                default-target-url="/index.jsp"
                authentication-failure-url="/failer.jsp"
                authentication-success-forward-url="/main.jsp"
        />

可能是这一段配置的问题

我是添加了  authentication-success-forward-url="/main.jsp" 之后项目登陆页面出现了


error-2:

 security.authentication.BadCredentialsException: Bad credentials

 Solution:

在spring-security.xml配置文件中配置了对密码的加密方式

<security:password-encoder ref="passwordEncoder"/>

作为一个简单Demo,注释掉这一句就好


 error-3:

登陆页面是访问成功了,进入主页面了,但点其他页面 都是 “拒绝访问”

security AccessDeniedException: Access is denied 

  Solution:

在spring-security.xml文件里,配置了可访问的用户    access="ROLE_USER,ROLE_ADMIN,ROLE_user,ROLE_admin"

  <security:intercept-url pattern="/**" access="ROLE_USER,ROLE_ADMIN,ROLE_user,ROLE_admin"/>

我 在userService里边是进行拼接的,

    authorities.add(new SimpleGrantedAuthority("ROLE_"+r.getRoleName()));

结果是因为数据库查询出来用户名是小写的,凭借后就变成了ROLE_user,ROLE_admin;

这里可没有windows-mysql的大小写不敏感,所以权限是匹配不上的

根据数据库查询出的结果,相应的添加后边偏红语句即可

  <security:intercept-url pattern="/**" access="ROLE_USER,ROLE_ADMIN,ROLE_user,ROLE_admin"/>


下面是配置spring-security的一般步骤 :

  • pom.xml

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值