Spring安全登录过程无效

时间:2012-03-21 10:33:08

标签: grails login spring-security

我正在使用spring security插件登录用户。我正在使用AJAX以及普通登录方法..代码似乎工作正常,直到它在嵌入式服务器上运行但是当我把战争推到apache Tomcat 7时,那么当我登录时,登录过程停止并显示

http://localhost:8282/j_spring_security_check

使用普通登录时显示地址栏中的

“NetworkError:500内部服务器错误 - http://localhost:8282/home/j_spring_security_check

使用ajax登录时。然而,该过程已停止,但用户已登录...我无法弄清楚出了什么问题..

3 个答案:

答案 0 :(得分:0)

您需要提供更多信息,以便任何人准确回答。 500错误是非常通用的'catch-all'错误,这意味着服务器上出现了问题,而这就是它。

您需要检查的第一件事是您的tomcat服务器日志。日志文件中应该有相应的错误,它将详细解释发生的情况。如果您不确定日志文件在哪里进行网络研究并对tomcat稍微熟悉一点。花时间学习基础知识将会得到回报。一旦你从日志文件中得到错误就更新你的答案,我会再看看。

答案 1 :(得分:0)

检查grails.plugins.springsecurity配置设置。我认为localhost:8282应该替换为托管您的身份验证服务器的服务器的域名和端口。 Spring Security通过向客户端的浏览器发送HTTP重定向到身份验证服务来登录,因此localhost会将他重定向到他自己的计算机,这可能不是您想要的。

我在每个应用服务器中都使用身份验证服务器保留一个小的属性文件,因此我的应用程序将从环境中获取该信息。有关如何在插件中执行此操作的详细信息,请参阅https://stackoverflow.com/a/9789506/1269312

我希望这会有所帮助。

答案 2 :(得分:0)

我在使用<g:form .. />登录表单时遇到此错误,而不是正常的<form .. />

你必须在Config.groovy中设置默认的重定向链接,如下所示。

grails.plugins.springsecurity.auth.loginFormUrl = '/'