# Eclipse RCP - Splash Screen immer anzeigen



## Saxony (29. Jun 2009)

Hiho,

ich verwende bei meiner RCP Anwendung einen SplashScrenn, welcher auch gleichzeitig für die Abfrage nach Nutzername und Passwort gedacht sein soll. Nun kann man ja einfach die Anwendung mit -noSplash starten und umgeht die Anmeldung. Wie kann ich also die Verwendung des Splash Screens erzwingen bzw. was ist ein besserer Weg für eine Nutzeranmeldung?

bye Saxony


----------



## Gast2 (29. Jun 2009)

Ich glaube nicht das der UseCase eines SplashScreen die Useranmeldung beinhaltet??!!


----------



## Vayu (29. Jun 2009)

ich würde den auch nicht dazu missbrauchen ... bastle dir doch einfach einen login-dialog selbst. Das ist ja auch nicht so der act


----------



## Gast2 (29. Jun 2009)

Ich habs noch nie gemacht, aber ich könnte mir vorstellen, dass es eine extension gibt wo man die Benutzerverwaltung im RCP machen kann und es bestimmt auch einen Dialog dafür gibt.

vielleicht bringt dich das weiter
[Eclipse_Project] Eclipse Source Repositoriesplatform-ui-home/eclipsecon/activities/EclipseCon2005.KCH.AuthDemo/src/eclipseCon2005/KCH/AuthDemo

Ich würde einfach mal im Netz "eclipse RCP Authentifizierung" oder ähnliches suchen.


Oder wie oben erwähnt mach dir einen Login Screen und ruf ihn in der run methode auf und was nicht passt beende die Anwendung starte sie neu oder oder...


----------



## Saxony (29. Jun 2009)

Hmm dann frage ich mich allerdings wieso das überhaupt angeboten wird... "Interactive with simulated Log-In Session". Nuja sah halt schön aus hatte extra nen passendes Spalsh Bildchen "designed". 

bye Saxony


----------



## Saxony (29. Jun 2009)

So ich habe jetzt eine eigene Login Dialog erstellt. Aufrufen tue ich ihn aber in meiner Application#start vor PlatformUI.createAndRunWorkbench. Ich glaube vor Eclipse 3.4 hieß das noch run... !?

bye Saxony


----------



## Wildcard (29. Jun 2009)

Du kannst den Splashscreen schon verwenden. Dein Code muss nur sicherstellen das ohne valide Credentials eben nichts läuft.


----------



## Saxony (30. Jun 2009)

Wildcard hat gesagt.:


> Du kannst den Splashscreen schon verwenden. Dein Code muss nur sicherstellen das ohne valide Credentials eben nichts läuft.



Naja am einfachsten wäre es ja, wenn man erzwingen könnte, dass der SplashScreen immer angezeigt wird. Dann kommt der Nutzer an der Anmeldung nicht vorbei. Aber zur Zeit besteht ja die Möglichkeit mit -noSplash den Splash - und somit auch die komplette Anmeldung - zu umgehen.

bye Saxony


----------



## Wildcard (30. Jun 2009)

Der Splashscreen ist das Frontend der Authentifizierung, nicht die Authentifizierung selbst.


----------



## Saxony (1. Jul 2009)

Ja aber der Splash Screen wird mit der Workbench gestartet, d.h. erst nach PlatformUI.createAndRunWorkbench. Somit kann ich vorher noch kein Flag setzen ob die Workbench gestartet werden soll oder nicht. Sie muss ja erst einmal zwangsläufig starten damit auch ein SplashScreen erscheint. Sollte nun aber jemand die Anwendung mit -noSplash starten, dann wird die Workbench erzeugt und gestartet aber die Anzeige des Splash Screens fällt weg und ich hab keine Möglichkeit mehr createAndRunWorkbench zu verhindern. Also wie in welcher Reihenfolge soll das denn nun alles stattfinden.

[edit]
Aso ich rede hier übrigens von 


```
public class InteractiveSplashHandler extends AbstractSplashHandler
```
 welcher direkt als Extension org.eclipse.ui.splashHandlers eingebunden wird.
[/edit]

bye Saxony


----------



## Wildcard (1. Jul 2009)

Registier doch einen Startup-Hook, überprüf ob sich der user ordnungsgemäß angemeldet hat, wenn nicht shutdown. Oder eben normal starten und erst meckern wenn die Aktion ausgeführt werden soll für die man sich anmelden musste.


----------



## Saxony (2. Jul 2009)

So nach einigem probieren habe ich die Abfrage ob sich jemand erfolgreich authentifiziert hat in postWindowCreate von ApplicationWorkbenchWindowAdvisor eingefügt. Wird mit SplashScreen gestartet gibt es nur erfolgreiches Login oder ein System.exit. Sollte also jemand mit false authentifizierung bis zu postWindowOpen kommen, dann hat er zwangsläufig den SplashScreen deaktiviert. Somit kommt nun eine Meldung, die Anwendung ohne -noSplash zu starten und wird dann geschlossen. Denke mal so oder so ähnlich war dein Beitrag gemeint.

bye Saxony


----------

