Tag zusammen,
folgendes Problem beschäftigt mich im Moment:
Ich habe eine Art Portalseite, welche mittels Tiles zusammengesetzt ist. Eines dieser Tiles beinhaltet nun eine durch die in der web.xml eingetragene security-constraints enthaltene JSP-Seite. Hier sollen dem eingeloggten (!) User also Informationen über z.B. seinen letzten Login oder was weiß ich angezeigt werden. Da beim initialen Aufruf der Seite der User aber noch nicht eingeloggt sein kann sollte also der Mechanismus greifen und dem User wird statt dessen die Login-Seite angezeigt.
Nun habe ich aber das Problem, dass aufgrund des Einbindens der Tiles meine eigentlich "verbotene" JSP-Seite gar nicht in der URL aufgerufen wird und ich somit auch kein Login-Formular angezeigt bekomme. Bei mir wird sofort der Inhalt der "verbotenen" Seite angezeigt.
Ich habe inzwischen schon über jsp:include anstatt von tiles:insert, über eine seperate Aktionklasse, über einen forward und einen redirect versucht mein Login-Formular angezeigt zu bekommen - NICHTS.
Vielleicht kann mir ja hier jemand weiterhelfen.
Nachfolgend noch ein paar Auszüge aus den rel. Dateien:
web.xml:
struts-config:
tiles-defs.xml:
Navigation-Action:
folgendes Problem beschäftigt mich im Moment:
Ich habe eine Art Portalseite, welche mittels Tiles zusammengesetzt ist. Eines dieser Tiles beinhaltet nun eine durch die in der web.xml eingetragene security-constraints enthaltene JSP-Seite. Hier sollen dem eingeloggten (!) User also Informationen über z.B. seinen letzten Login oder was weiß ich angezeigt werden. Da beim initialen Aufruf der Seite der User aber noch nicht eingeloggt sein kann sollte also der Mechanismus greifen und dem User wird statt dessen die Login-Seite angezeigt.
Nun habe ich aber das Problem, dass aufgrund des Einbindens der Tiles meine eigentlich "verbotene" JSP-Seite gar nicht in der URL aufgerufen wird und ich somit auch kein Login-Formular angezeigt bekomme. Bei mir wird sofort der Inhalt der "verbotenen" Seite angezeigt.
Ich habe inzwischen schon über jsp:include anstatt von tiles:insert, über eine seperate Aktionklasse, über einen forward und einen redirect versucht mein Login-Formular angezeigt zu bekommen - NICHTS.
Vielleicht kann mir ja hier jemand weiterhelfen.
Nachfolgend noch ein paar Auszüge aus den rel. Dateien:
web.xml:
security-constraint>
<web-resource-collection>
<web-resource-name>TEST</web-resource-name>
<url-pattern>/jsp/layout/header.jsp</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>admin</role-name>
<role-name>user</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>FORM</auth-method>
<form-login-config>
<form-login-page>/jsp/login.jsp</form-login-page>
<form-error-page>/error.jsp</form-error-page>
</form-login-config>
</login-config>
struts-config:
<action path="/navigation" type="com.yourcompany.struts.action.NavigationAction">
<forward name="notLoggedIn" path="/jsp/layout/header.jsp" />
</action>
tiles-defs.xml:
<definition name="page.default" path="/jsp/layout/layout.jsp">
<put name="title" value="JDBCRealm" />
<put name="userNavigation" value="/navigation.do" />
<put name="footer" value="/jsp/layout/footer.jsp" />
<put name="navigation" value="/jsp/layout/navigation.jsp" />
</definition>
Navigation-Action:
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) {
String retVal = "notLoggedIn";
return mapping.findForward(retVal);
}