netbeansを使用してJava EE6とGlassFish3について見つけた素晴らしいガイドを使用してログインページを作成しました。 ログインページにアクセスしようとするとプロジェクトを展開した後、GlassFishサーバーから「HTTPステータス403 - 要求されたリソースへのアクセスが拒否されました」というメッセージが表示されます。実装されたログインページに到達しようとするとglassfish 3のHTTPステータス403エラー
私が使っているURLは:http://localhost:9999/simplewebapp/admin/admin.jsp 私が作成したログインページに自動的にリダイレクトされるはずです。
代わりに上記のエラーが表示されます。 glassfish3のログを見ると、私は上記のURLを入力するときに私はこれらの2つの行を取得しています。
INFO:JACCポリシー・プロバイダ:失敗パーミッションチェック:コンテキスト( "simplewebapp/simplewebapp ")、許可("(javax.security.jacc.WebUserDataPermission /admin/login.jsp GET)") INFO:JACCポリシー・プロバイダ:失敗パーミッションチェック:コンテキスト( "simplewebapp/simplewebapp ")、許可("(javax.security.jacc.WebUserDataPermission /admin/login.jsp GET:CONFIDENTIAL)")
いくつかの詳細:
ウェブ.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<security-constraint>
<display-name>Admin Pages</display-name>
<web-resource-collection>
<web-resource-name>Administrative Pages</web-resource-name>
<description/>
<url-pattern>/admin/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<description>admin</description>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>FORM</auth-method>
<realm-name>file</realm-name>
<form-login-config>
<form-login-page>/login.jsp</form-login-page>
<form-error-page>/loginerror.jsp</form-error-page>
</form-login-config>
</login-config>
<security-role>
<description>Administrators</description>
<role-name>admin</role-name>
</security-role>
<security-role>
<description>Users</description>
<role-name>user</role-name>
</security-role>
</web-app>
glassfish-web.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
<glassfish-web-app error-url="">
<security-role-mapping>
<role-name>admin</role-name>
<group-name>appadmin</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>
</glassfish-web-app>
私はここで間違っていますか? ありがとうございます。
adminフォルダ内にlogin.jspが見つかりませんか? – skiabox
私のlogin.jspファイルは、ダウンロードした本のコードと同じように、アプリケーションのルートディレクトリにあります。 – skiabox