Webshere7.0でJSF1.2+Tomahawk1.1.13を使用しています
私のweb.xml:
<welcome-file-list>
<welcome-file>/search.faces</welcome-file>
</welcome-file-list>
<security-constraint>
<display-name>Websphere Security Constraint</display-name>
<web-resource-collection>
<web-resource-name>Default</web-resource-name>
<description />
<url-pattern>/*</url-pattern>
</web-resource-collection>
</security-constraint>
<login-config>
<auth-method>FORM</auth-method>
<form-login-config>
<form-login-page>/login.jsp</form-login-page>
<form-error-page>/login.jsp</form-error-page>
</form-login-config>
</login-config>
私のlogin.jsp:
<form method="post" action="j_security_check">
<jsp:include page="head.jsp" />
<t:panelGrid columns="2" border="1"
columnClasses="unfixedCol,fixedCol"
style="style=text-align:top; margin-top:20px; margin-bottom:20px;">
<t:panelGroup>
Login
</t:panelGroup>
<t:panelGroup>
<h:inputText id="j_username" autocomplete="off" size="20" />
</t:panelGroup>
<t:panelGroup>
Password
</t:panelGroup>
<t:panelGroup>
<h:inputSecret id="j_password" autocomplete="off" size="20" />
</t:panelGroup>
<f:facet name="footer">
<t:panelGroup colspan="4"
style="text-align:right; background-color:#d9e2f2;">
<h:commandButton type="submit" value="Submit" />
<h:commandButton type="reset" value="Reset" />
</t:panelGroup>
</f:facet>
</t:panelGrid>
<jsp:include page="foot.jsp" />
</form>
/ localhost:9080 / App /にアクセスし、正しいクレデンシャルを入力すると、すべて問題ないように見えます。ログインしますが、これは問題で機能します。
セキュリティチェックなしでアプリケーションjsp-pagesにアクセスできます(チェックなしで/localhost:9080/App/search.jspにアクセスできますが、/ localhost:9080 / App /にアクセスするとセキュリティチェックがあります)。さまざまなURLパターンを試しました。
FacesContext.getCurrentInstance()。getExternalContext()。getUserPrincipal()を使用してHTTPセッションユーザーを取得しようとすると、IDを記録したときに常にnullが発生します。なぜ?
すべてのガイドをチェックし、いくつかのstackowerflowの質問を含めましたが、私の問題が何であるかを理解していませんでした。
手伝ってくれてありがとう