2011-10-21 25 views
2

在網上搜索了很長時間之後,除了打開tomcat-users.xml並手動編輯之外,我找不到從JSP腳本中編輯用戶的好方法。這不僅是一個安全漏洞,因爲我必須授予www用戶權限爲tomcat-users.xml,但我必須重新啓動Tomcat以查看任何影響,從而使所有更改無效。如何維護Tomcat基本認證的用戶?

由於部署完全是內部的,我不會完全反對通過JSP手動編輯tomcat-users.xml。編輯Apache通過.htaccess包裝是不可能的(這是我原來的解決方案),作爲應用程序的一部分顯然取決於Tomcat登錄。

Tomcat是否有更好的方法來維護用戶?我正在使用Tomcat 6.0。

回答

4

將它們存儲在關係數據庫服務器中。請閱讀Tomcat Realm HowtoJDBCRealm chapter如何設置基於數據庫的領域而不是file based realm(這確實是默認領域)。

這樣你就可以自由地通過JDBC,JPA或Hibernate等來管理數據庫中的用戶表。請注意,這項工作是supposed(間接)由Servlet完成,而不是由JSP完成。

+0

嗯,我沒有權限安裝sql server或任何東西,但我可能能夠脫身與sqlite3。感謝您的建議,我會在明天進一步研究。 – kevin948

+2

JavaDB(內置JDK)和H2也是很好的嵌入式數據庫。 – BalusC

+1

請注意任何人可能會看到這一點:不要使用sqlite3與tomcat,沒有本地支持。使用BalusC的建議。 – kevin948