2012-03-21 45 views
0

我使用spring安全插件登錄用戶。我使用的AJAX以及普通的登錄方法..代碼似乎工作正常,直到它在嵌入式服務器上運行,但當我把戰爭推到Apache Tomcat 7,然後當我登錄時,登錄過程使用正常登錄,顯示春季安全登錄過程不起作用

時,在地址欄停止並顯示

http://localhost:8282/j_spring_security_check

「NetworkError:500內部服務器錯誤 - http://localhost:8282/home/j_spring_security_check

使用Ajax登陸時。但是,該過程已停止,但用戶已登錄...我無法弄清楚哪裏出了問題..

+1

在你的tomcat服務器日誌中是否有相應的錯誤? – 2012-03-21 10:50:53

回答

0

您需要爲任何人提供更多信息以準確回答。 500錯誤是非常普遍的「全部」錯誤,這意味着服務器出現了問題,這就是它。

你需要檢查的第一件事是你的tomcat服務器日誌。日誌文件中應該有相應的錯誤,詳細解釋發生了什麼。如果您不確定日誌文件的位置,請在Web上進行一些研究,並對tomcat更熟悉一些。花時間學習基礎知識將在以後得到回報。一旦從日誌文件中發現錯誤,請更新您的答案,然後再看看。

0

檢查您的grails.plugins.springsecurity配置設置。我認爲localhost:8282應該由託管認證服務器的服務器的域名和端口替換。 Spring Security通過向客戶端瀏覽器發送HTTP重定向到認證服務來登錄,因此localhost會將他重定向到他自己的計算機,這可能不是您想要的。

我使用身份驗證服務器在每個應用程序服務器中保留一個小的屬性文件,所以我的應用程序將從環境中獲取該信息。有關如何在插件中執行此操作的更多信息,請參見https://stackoverflow.com/a/9789506/1269312

我希望這會有所幫助。

0

我在登錄表單中使用<g:form .. />而不是普通的<form .. />時遇到此錯誤。

你還必須在Config.groovy中設置默認的重定向鏈接,如下所示。

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