org.springframework.security.access.AccessDeniedException: Access is denied

最近在做SSM整合框架的企业权限管理的项目(某马教程),碰到spring-security类的错误:Access is denied。
------------------问题是,我点开访问链接,连login.jsp都登录不上
问题描述:login.jsp访问404
解决方法: 检查spring-security.xml配置文件中以下配置:

<security:http pattern="/login.jsp" security=“none”/>
<security:http pattern="/failer.jsp" security=“none”/>
<security:http pattern="/css/" security=“none”/>
<security:http pattern="/img/
" security=“none”/>
<security:http pattern="/plugins/**" security=“none”/>

<!-- 定义跳转的具体的页面 -->
<security:form-login
        login-page="/login.jsp"
        login-processing-url="/login.do"
        default-target-url="/index.jsp"
        authentication-failure-url="/pages/failer.jsp"
        authentication-success-forward-url="/pages/main.jsp"
/>

再看login.jsp页面所在的位置:

在这里插入图片描述
问题就很明白了,路径不对。这里可以修改配置文件,或者把这login.jsp和failer.jsp移动到与pages同级的目录下。

----------------------还有登录不上的问题
问题出在form表单的提交路径:
action="${pageContext.request.contextPath}/login"
配置文件中指明的路径是:
login-processing-url="/login.do"
这两个路径不一样,所以导致这个问题。

-----------------------还有另一个角色对不上的问题,数据库中roleName的值为admin或user。而配置文件中写着:

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

这就需要改IUserServiceImpl的(给这个拿到的rolename加个前缀):

authorities.add(new SimpleGrantedAuthority("ROLE_"+role.getRoleName()));
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值