Frage

Ich entwickle eine Website mit Seam 3 und JBoss 7. Ich verwende Seam Security und JSF. Auf der Titelseite der Site sind die Anmeldesteuerungen. Wenn der Benutzer seine Anmeldeinformationen eingibt, wird er auf seine Benutzerseite "/mysc" umgeleitet.

Wenn der angemeldete Benutzer jedoch nur die Domain-Root eingreift "/" Er gelangt zur Titelseite. Ich möchte, dass der Benutzer, wenn er angemeldet ist, nicht wieder auf die Titelseite zugreifen kann. Wenn er bittet, zur Titelseite zu gehen oder die Domain -Wurzel in der Standortleiste einzugeben, möchte ich, dass er in "/mysc" umgeleitet wird. Wie kann ich das machen?

War es hilfreich?

Lösung

Sie können die Nahnavigationsregel verwenden, die ziemlich leistungsfähig ist.

<page view id="/view.xhtml">
      <navigation from-action="#{user.login}">
           <rule if-outcome="successfull"><redirect view-id="/MySC.xhtml"/>
           <message severity="Info">
                Your login is successfull!.
           </message>
      </navigation>
</page>

Andere Tipps

Ich empfehle eine kleine Neugestaltung der Seitenstruktur: Erstellen Sie die Titelseite /start Die Seite, auf der ein authentifizierter Benutzer sehen darf, und umzuleiten /login Wenn der Benutzer noch nicht authentifiziert ist.

Dieses Design ist nicht nur in Bezug auf die Trennung von Bedenken sauberer (ermöglicht es Ihnen, die Authentifizierungslogik in einem bestimmten Ordner zu bündeln), sondern auch das Problem des Mischens von Kontext- und Authentifizierungsseite löst.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top