总是认证失败,并不是用户名或密码错误,认证的方法成功执行无异常,之后却不能访问其他页面,跟没有登陆过一样。
我的项目发布到tomcat下名称是pay 当我修改了我项目的Web Context-root = / 即项目作为ROOT发布到tomcat下,就一切正常。
如果不修改Web Context-root = / 改怎么解决
已经困扰一段时间了,哪位同学可遇到过,还请指点一二啊
具体配置如下:
nginx配置登陆的页面是:http://pay.fushikang.com/mg/login.jsp 下面是登陆的controller方法,此方法正常执行完毕下面是重写的Realm类,登陆认证方法下面是配置文件 spring-shiro.xml 

解决方案 »

  1.   

    自定义realm还有个doGetAuthorizationInfo方法的实现类呢?权限是由这个方法设置的,你这截图看只是检验了用户名和密码信息,看下这个吧http://blog.csdn.net/oyh1203/article/details/51859399#comments
      

  2.   

    在服务器上tomcat的server.xml配置是这样的:
    <Context path="" docBase="工程名" reloadable="true" />
    本地成功,服务器不成功的原因是path的原因 path='/工程名',这样就可以
      

  3.   

    你这个用都没用对,登录的时候,把用户名和密码传入UsernamePasswordToken,调用SecurityUtils.getSubject().login(token);就行了,密码校验是在realm的doGetAuthenticationInfo方法中校验,SimpleAuthenticationInfo 中传入的是你数据库查询到的用户对象,UsernamePasswordToken中加盐,SimpleAuthenticationInfo 里面传值的时候也要加盐,shiro会拿UsernamePasswordToken和SimpleAuthenticationInfo 中的token进行密码校验。而且shiro根本不是你这样处理异常。建议多搜博客看看,理解原理了,再来写代码