【发布时间】:2015-05-06 22:36:29
【问题描述】:
美好的一天!
我目前正在使用 Jelastic 作为 Web 托管站点在线测试我新开发的 Web 应用程序 (Online Public Access Catalog)。当我在本地计算机上部署 Web 应用程序时,它运行良好。在 Jelastic 中部署后,它会显示主页(不安全页面)。但是,当我尝试访问 Web 应用程序 (https) 的任何安全页面时,例如单击“登录”按钮或“注册”按钮,Mozilla Firefox 浏览器会显示错误“页面未正确重定向”。在Chromium 中,它显示错误“此网页具有重定向循环”。我在 Jelastic 帐户上打开了SSL。当我查看服务器日志时,它给了我这个错误:
JACC 策略提供者:权限检查失败,上下文(ROOT/ROOT)-权限((“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/* 中的代码似乎被读取为注释而不是代码的一部分。谢谢...
【问题讨论】:
-
您使用的是什么版本的 Glassfish 和 JDK?如果您提供指向您的应用程序的链接,这将很有用。
-
GlassFish Server 的版本是 4.1 和 JDK 8。它认为我的 Jelastic 帐户将在几天后到期。我希望你能帮助我。这是链接 --> icplopac.jelastic.servint.net/OPACWSJSPClient
标签: java jsp security glassfish jelastic