Der Zugriff auf Bean Methoden erfolgt bei JSF ja über Referenzen durch EL. Wenn jetzt eine rollenbasierte Zugriffskontrolle implementiert werden soll, so stelle ich mir folgende Frage:
Wenn eine Komponente nicht gerendert wird, weil die Rolle keine Berechtigung dafür hat und diese Komponente wenn die Berechtigung ausreichend wäre z.B. eine action ausführen soll, also z.B. eine Managed Bean Methode aufruft, ist es dann unter Umständen möglich diese Methode auch ohne Berechtigung auszuführen?
Also beispielsweise zuerst abfangen eines Requests mit ausreichender Berechtigung und dann den Request mit nicht ausreichender Berechtigung Repeaten (wobei man dann die Session ID und ViewStateID anpassen müsste und die ViewState ID vermutlich dann wohl nicht konsistent wäre)?
Oder ist JSF auf irgendeine Weise geschützt dagegen? Meine Vermutung ist ja, dass wenn eine Komponente nicht gerendert wird diese auch nicht in der View von JSF vorhanden ist und deshalb ein Aufruf so einer Methode nicht möglich ist...
Wenn dem nicht so wäre, so könnte ja man ja mit manipulieren Requests alle Methoden von Managed Beans aufrufen, egal ob dazu eine Referenz mittels EL implementiert wurde oder nicht, oder?
Und falls das zutrifft, dann wäre eine Abfrage in den Business Methoden ob eine Rolle eine entsprechende Berechtigung hat nur ein zusätzlicher Sicherheitslayer, der in dem Fall dass dalle Komponenten korrekt gerendert bzw nicht gerendert werden nicht unbedingt nötig ist?
Wenn eine Komponente nicht gerendert wird, weil die Rolle keine Berechtigung dafür hat und diese Komponente wenn die Berechtigung ausreichend wäre z.B. eine action ausführen soll, also z.B. eine Managed Bean Methode aufruft, ist es dann unter Umständen möglich diese Methode auch ohne Berechtigung auszuführen?
Also beispielsweise zuerst abfangen eines Requests mit ausreichender Berechtigung und dann den Request mit nicht ausreichender Berechtigung Repeaten (wobei man dann die Session ID und ViewStateID anpassen müsste und die ViewState ID vermutlich dann wohl nicht konsistent wäre)?
Oder ist JSF auf irgendeine Weise geschützt dagegen? Meine Vermutung ist ja, dass wenn eine Komponente nicht gerendert wird diese auch nicht in der View von JSF vorhanden ist und deshalb ein Aufruf so einer Methode nicht möglich ist...
Wenn dem nicht so wäre, so könnte ja man ja mit manipulieren Requests alle Methoden von Managed Beans aufrufen, egal ob dazu eine Referenz mittels EL implementiert wurde oder nicht, oder?
Und falls das zutrifft, dann wäre eine Abfrage in den Business Methoden ob eine Rolle eine entsprechende Berechtigung hat nur ein zusätzlicher Sicherheitslayer, der in dem Fall dass dalle Komponenten korrekt gerendert bzw nicht gerendert werden nicht unbedingt nötig ist?
Zuletzt bearbeitet: