2012-06-20 27 views
0

我在生產中使用JDBC Realm進行身份驗證的Glassfish服務器。 它運行良好,但需要更改所有角色/組。我在一個測試環境中開發了一個新版本的web應用程序,更改了glassfish-web.xml和web.xml,使它們與db for groups中的groups表中包含的組一致。一切都完美無瑕。所以我將Web應用程序移到生產環境中,並更新了生產數據庫中的組表的內容。 身份驗證正常,但角色無法識別。我怎樣才能調查這個問題?我檢查了生產數據庫和組表是好的,可以訪問選擇。 Glassfish-web.xml和web.xml與測試環境相同。這是一個真正的腦力激盪。我可以給出的唯一解釋是Glassfish-web.xml由於未知原因而被丟棄,或者舊文件仍然存在並且從除web-inf目錄之外的其他位置讀取。Glassfish:如何調查角色/組問題

感謝所有幫助

菲利波

回答

0

探索下GlassFish的根文件夾+ \domains域的文件夾中。如果您不確定自己在哪個域名,則默認爲domain1。在這個文件夾下,你應該有一個名爲applications的文件夾。該文件夾包含所有應用程序的部署版本,並且它是檢查應用程序的配置文件的地方。

無論如何,如果您遇到此類問題,您的項目中的Clean & Build通常會起作用,然後進行重新部署。

+0

應用程序文件夾爲空。 domain.xml指向包含所有應用程序文件的不同目錄。在生產中,我只有Glassfish服務器,所以我只能從那裏的測試環境移動文件,我不能從生產服務器構建和部署。 – Filippo

+0

如果您的應用程序文件夾爲空,我建議從頭開始創建一個新域,並將其設爲默認域。移動文件還不夠,你需要部署你的耳朵或戰爭。在部署之前,您可以更改描述符文件而無需重新編譯任何內容。 – perissf

+0

下面是第一條線索,我找到了目錄domains \ domain1 \ generated \ policy \ appName \ appName。它包含兩個文件:granted.policy和excluded.policy,其中包含基於glassfish-web和web.xml的詳細說明的權限信息。其內容與先前的配置保持一致,而不是具有新角色的配置,因此我刪除了/生成的全部內容以及在重新創建服務器時重新創建的內容。現在,組/角色被正確識別,所以最終這是一個緩存數據的問題。 – Filippo