簡體   English   中英

Jelastic-使用GlassFish Server(HTTPS)訪問安全頁面時,Firefox給出“此頁面無法正確重定向”

[英]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

如果部署的應用程序出現問題,則錯誤代碼將類似於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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM