我想實現一個簡單的基於表單的登錄爲我的web應用程序與Tomcat部署。 loginPage.html具有j_username
和j_password
作爲字段,並且表單方法爲j_security_check
,如指定的那樣。/Actions是一個包含我的所有html和jsp文件以及css和js文件的目錄,所有servlet映射的格式都是/Actions/servletName.do。唯一不在操作中的頁面是index.html和loginPage和loginError。基於HTTPS的基於表單的登錄失敗,瀏覽器錯誤,它無法連接服務器
現在,主頁是index.html。有一個指向Actions/home.html的超鏈接。我想要的是該超鏈接首先重定向到loginPage.html,然後當用戶登錄時它將轉到home.html。我的理解是,由於home.html是一個受限制的資源,這應該會自動發生。然而,相反,我沒有被重定向到一個登錄頁面,瀏覽器顯示一個錯誤,說它無法連接到頁面;頂部的URL是https://localhost:8443/myProject/Actions/home.html和https://localhost:8443/myProject/index.html。
我看了幾個教程,但他們沒有指定一個完整的例子,包括文件位置。幫助將不勝感激。哦,是的,如果有人想知道,我沒有相應地更新tomcat-users.xml文件。
<welcome-file-list>
<welcome-file>/index.html</welcome-file>
</welcome-file-list>
<security-role><role-name>Admin</role-name></security-role>
<login-config>
<auth-method>FORM</auth-method>
<form-login-config>
<form-login-page>/loginPage.html</form-login-page>
<form-error-page>/loginError.html</form-error-page>
</form-login-config>
</login-config>
<security-constraint>
<web-resource-collection>
<web-resource-name>AllResources</web-resource-name>
<url-pattern>/Actions/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>Admin</role-name>
</auth-constraint>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
您使用什麼瀏覽器?什麼是*確切*錯誤信息? http://是否適用於'index.html'?這聽起來很像您的容器上根本沒有配置SSL。 – BalusC
我使用了Chrome,它表示「Chrome瀏覽器的本地主機連接嘗試被拒絕,網站可能關閉,或者您的網絡可能配置不正確。」但我認爲Tomcat配置了SSL。試圖直接進入/Actions/home.html會產生完全相同的錯誤。 – joseph
當我輸入http:// localhost:8080/myServlet /或http:// localhost:8080/myServlet/index.html時,它會進入正確的頁面,但頂部的url顯示時不顯示http:// – joseph