# XHTML Aufruf verbieten?



## OnDemand (20. Feb 2015)

Hallo zusammen,

eine Frage; Ich habe eine View im xhtml, eine Bean als .java Datei.

Nun kann ich im Browser die xhtml aufrufen und alles klappt. So nun möchte ich aber nicht, dass die XHTML Seiten direkt angesteuert werden dürfen, weil User A da eigentlich keinen Zugriff haben darf.

Irgendwie fehlt mir die Verbindung zwischen der View und der Logik und es muss verboten sein, die JSF aufzurufen. 

Hoffe mir kann jemand Licht ins dunkle bringen


----------



## redJava99 (20. Feb 2015)

Info's zum Packaging wären nützlich - und wovon die Berechtigung des Benutzers abhängt.

Auf Verdacht:
 - Seiten im Verzeichnis WEB-INF können nicht direkt aufgerufen werden (d.h. nur eingebunden werden).
 - das rendered-Attribut verwenden


----------



## OnDemand (20. Feb 2015)

Suuuuper danke web-inf sollte mir schon reichen. Hast du auch eine einfache Idee wie ich steuern kann welcher User gewisse Seiten nutzen darf und welche nicht

Edit:NutzerBerechtigung hab ich noch keine Ahnung wie ich machen soll. Gibt es da eine simple Variante


----------



## redJava99 (20. Feb 2015)

XHTML:

```
<p:outputPanel rendered="#{bean.viewAllowed}"> <!-- This is the top level container!! -->
   [content]
</p:outputPanel>
<p:outputPanel rendered="#{not bean.viewAllowed}">
   <h:outputText value="Sorry, permission denied." />
</p:outputPanel>
```

Bean:

```
public boolean isViewAllowed(){
    return currentUser.mayViewPage("mypage");
}
```

Wie dein Konzept für die Berechtigungen aussehen soll, kann ich dir nicht sagen. Da gibt es viele Möglichkeiten.


----------



## OnDemand (20. Feb 2015)

Gibt es da eine spezielle API ? (Jaas?) nach der ich Googlen kann?

Ich stelle mir das irgenwie trotzdem unsicher vor. Wenn jemand meine SQL Datenbank hacked und sich einfach ein Passwort und nen Benutzernamen anlegt, kann er ja die Software nutzen.... Es ist sicherlich möglich die Datenbank zu knacken, aber wie kann man sowas verhindern? (Außer gutes Passwort etc)


----------

