[英]Jelastic - Firefox gives “This page isn't redirecting properly” when Accessing a Secure Page using GlassFish Server (HTTPS)
美好的一天!
我目前正在使用Jelastic
作為虛擬主機站點Online Public Access Catalog
測試我新開發的Web應用程序( Online Public Access Catalog
)。 當我在本地計算機上部署Web App時,它運行良好。 在Jelastic中部署它之后,它將顯示主頁(不安全的頁面)。 但是,當我嘗試訪問Web應用程序(https)的任何安全頁面時,例如單擊“登錄”按鈕或“注冊”按鈕時,Mozilla Firefox瀏覽器將顯示錯誤“頁面無法正確重定向”。 在Chromium
,它顯示錯誤“此網頁具有重定向循環”。 我已經在我的Jelastic帳戶上啟用了SSL
。 當我查看服務器日志時,它給了我這個錯誤:
JACC策略提供者:失敗的權限檢查,上下文(根/根)-權限((“ javax.security.jacc.WebUserDataPermission”“ / logMeIn.do”“ GET”))
除這種情況外,一切都正常。 我認為這與服務器的安全性配置或錯誤有關,但我嘗試搜索了好幾天,但找不到任何解決方案。
有人可以幫我解決這個問題嗎?
這是web.xml文件的安全性部分。
<security-constraint>
<display-name>AdminSecurityConstraint</display-name>
<web-resource-collection>
<web-resource-name>AdminWebResource</web-resource-name>
<description/>
<url-pattern>/administerDB.do</url-pattern>
<url-pattern>/viewBooks.do</url-pattern>
<url-pattern>/addBooks.do</url-pattern>
<url-pattern>/processAddingOfBooks.do</url-pattern>
<url-pattern>/addingOfBooksSuccessful.do</url-pattern>
<url-pattern>/editBooks.do</url-pattern>
<url-pattern>/editBooksForm.do</url-pattern>
<url-pattern>/addingOfBooksFailed.do</url-pattern>
<url-pattern>/bookNumberNotFound.do</url-pattern>
<url-pattern>/processEditingOfBooks.do</url-pattern>
<url-pattern>/removeBooks.do</url-pattern>
<url-pattern>/processRemovingOfBook.do</url-pattern>
<url-pattern>/editSuccess.do</url-pattern>
<url-pattern>/removeBookSuccessful.do</url-pattern>
<url-pattern>/noChanges.do</url-pattern>
<url-pattern>/changeAccountSettings.do</url-pattern>
<url-pattern>/bookNumberNotFoundDel.do</url-pattern>
<url-pattern>/logMeOut.do</url-pattern>
<url-pattern>/logMeIn.do</url-pattern>
<url-pattern>/confirmAdminChanges.do</url-pattern>
<url-pattern>/viewBookRequests.do</url-pattern>
<url-pattern>/verifyAccount.do</url-pattern>
<url-pattern>/removeBorrowRequest.do</url-pattern>
<url-pattern>/Admin/*</url-pattern>
<url-pattern>/Delete/*</url-pattern>
<url-pattern>/Insert/*</url-pattern>
<url-pattern>/Select/*</url-pattern>
<url-pattern>/Update/*</url-pattern>
<url-pattern>/viewReturnedBooks.do</url-pattern>
<url-pattern>/verifyBookReturn.do</url-pattern>
<http-method>GET</http-method>
<http-method>PUT</http-method>
</web-resource-collection>
<auth-constraint>
<description/>
<role-name>Admin</role-name>
</auth-constraint>
<user-data-constraint>
<description/>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
<security-constraint>
<display-name>MemberSecurityConstraint</display-name>
<web-resource-collection>
<web-resource-name>MemberWebResource</web-resource-name>
<description/>
<url-pattern>/logMeOut.do</url-pattern>
<url-pattern>/logMeIn.do</url-pattern>
<url-pattern>/memberPage.do</url-pattern>
<url-pattern>/processBorrowRequest.do</url-pattern>
<url-pattern>/removeBorrowRequest.do</url-pattern>
<url-pattern>/Member/*</url-pattern>
<http-method>GET</http-method>
<http-method>PUT</http-method>
</web-resource-collection>
<auth-constraint>
<description/>
<role-name>Member</role-name>
</auth-constraint>
<user-data-constraint>
<description/>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
<security-constraint>
<display-name>GuestSecurityConstraint</display-name>
<web-resource-collection>
<web-resource-name>IndexWebResource</web-resource-name>
<description/>
<url-pattern>/index.jsp</url-pattern>
<url-pattern>/advancedSearch.do</url-pattern>
<url-pattern>/signMeUp.do</url-pattern>
<url-pattern>/confirmSignup.do</url-pattern>
<url-pattern>/errorBookNotFound.do</url-pattern>
<url-pattern>/sortMyBook.do</url-pattern>
<url-pattern>/sortMyBookAdvanced.do</url-pattern>
<url-pattern>/Search/*</url-pattern>
<url-pattern>/Login/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<user-data-constraint>
<description/>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
<login-config>
<auth-method>FORM</auth-method>
<realm-name>OpacRealm</realm-name>
<form-login-config>
<form-login-page>/Login/loginPage.html</form-login-page>
<form-error-page>/Login/loginError.html</form-error-page>
</form-login-config>
</login-config>
<security-role>
<description/>
<role-name>Admin</role-name>
</security-role>
<security-role>
<description/>
<role-name>Member</role-name>
</security-role>
這是sun-web.xml文件。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sun-web-app PUBLIC "-//Sun Microsystems, Inc.//DTD GlassFish Application Server 3.0 Servlet 3.0//EN" "http://www.sun.com/software/appserver/dtds/sun-web-app_3_0-0.dtd">
<sun-web-app error-url="">
<security-role-mapping>
<role-name>Admin</role-name>
<group-name>Admin</group-name>
</security-role-mapping>
<security-role-mapping>
<role-name>Member</role-name>
<group-name>Member</group-name>
</security-role-mapping>
<class-loader delegate="true"/>
<jsp-config>
<property name="keepgenerated" value="true">
<description>Keep a copy of the generated servlet class' java code.</description>
</property>
</jsp-config>
</sun-web-app>
在此先感謝...而且,我該如何在web.xml文件中使上面的代碼正確,因為似乎Admin / *中的代碼被視為注釋而不是代碼的一部分。 謝謝...
我檢查了提供的URL,看來您沒有在Jelastic帳戶中配置SSL。
如果部署的應用程序出現問題,則錯誤代碼將類似於502 application down或500 Internal Server Error。
要解決權限檢查問題,您可以嘗試更新web.xml配置文件,並將以下內容添加到web-app部分:
<security-constraint>
<web-resource-collection>
<web-resource-name>Protected Context</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<!-- auth-constraint goes here if you require authentication -->
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
另外,我想提到的應用程序像多個應用程序一樣部署。 如果您開發的多個應用程序需要的權限超出此默認權限集,則可以添加應用程序所需的自定義權限。 com.sun.aas.instanceRoot變量引用域目錄。 例如:
grant codeBase "file:${com.sun.aas.instanceRoot}/applications/-" {
...
}
您可以使用以下授予塊將權限添加到存根代碼:
grant codeBase "file:${com.sun.aas.instanceRoot}/generated/-" {
...
}
通常,應僅向需要它們的應用程序或模塊添加額外權限,而不應向部署到域的所有應用程序添加額外權限。 例如:
grant codeBase "file:${com.sun.aas.instanceRoot}/applications/MyApp/-" {
...
}
對於模塊:
grant codeBase "file:${com.sun.aas.instanceRoot}/applications/MyModule/-" {
...
}
權限設置文件是server.policy,位於/opt/shared/glassfish/domains/domain1/config/server.policy
祝你好運,請讓我發布)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.