Android: WebView mit Login
Frage von BärBalu | 22.04.2013 um 13:36
Habe mal ein Frage.
Ist es denn möglich über die APP sich in einer Website ein zu loggen?
Ich habe auf der main.xml ein Button der auf ein neues Layout zugreift wo der Webview angezeigt wird.
Dort werde ich (wie halt am PC) nach Passwort und Name gefragt.
Jetzt wollte ich es aber so gestallten, bevor ich auf den Webview komme auf ein Layout mit Passwort und Name zugreife und bei erfolgreicher Prüfung auch gleich angemeldet bin und nicht beim drehen des Handys mich neu einloggen müsste.
Wie ich das mit den Layouts mache ist ja kein Ding, aber wie bekomme ich es hin das er die abfrage macht und mich gleich einloggt?
Kennt dazu jemand ein schönes Tutorial oder kann mir jemand ein example geben wo ich seh wie es aufgebaut ist?
Ähnliche Themen
Android Splash Screen Tutorial
Tutorial | 0 Kommentare
Android Table Layout mit gleich breiten Spalten
Tutorial | 0 Kommentare
Android Programmierung: Daten per POST an WebView senden (zum Beispiel für automatischen Login)
Tipp | 0 Kommentare
Android Programmierung: WebView Navigation
Frage | 2 Antworten
JavaScript in Android WebView funktioniert nicht
Frage | 1 Antwort
Android SDK Manager: Problem beim Installieren "File not Found (Zugriff verweigert) Done. Nothing was installed"
Frage | 1 Antwort
Android: WebView zeigt externe Webseiten nicht an
Frage | 1 Antwort
Wichtiger Hinweis
Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.
Jetzt mitmachen
Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.
Wie wäre es zum Beispiel die Logindaten über die URL zu übergeben, im WebView also statt
beispielsweise die Seite
aufzurufen. Auf der Login-Seite kann man die Werte der Variablen dann mit GET empfangen. Wäre dann nur eine Frage der Sicherheit, damit die Login-Daten nicht in falsche Hände geraten.
Eine andere Idee wäre ein Cookie, in dem eine ID gespeichert ist und dann den Nutzer nach einmaligem Login immer wieder neu einloggt.
Hilft das weiter? Kommt ja auch darauf an, wofür die App genutzt werden soll.
22.04.2013 um 19:21
Also die App wird ja nicht auf dem Markt kommen.
Es wird nur eine App, die für ein Onlinegame gestalltet wird.
Wir haben da 2 Webseiten und dafür würde ich die halt nehmen.
Also das mit Cookie habe ich mal gelesen aber da weiß ich nicht wie ich das einbauen sollte.
25.04.2013 um 22:47
Grob gesagt kann man das mit dem Cookie zum Beispiel so machen:
Jeder Nutzer erhält eine eindeutige Kennung (ID). Diese wird im Cookie und auf dem Server in der Datenbank abgespeichert. Beim Aufruf der Website fragt der Server den Cookie ab und kann damit den Nutzer erkennen und dementsprechende Inhalte liefern.
Wichtig: Wenn es sich nicht gerade um ein internes Projekt handelt sollte die ID hinreichend kompliziert sein, damit niemand manuell einen solchen Cookie erstellen kann, um den Login zu fälschen.
Also nicht einfach nur eine einstellige ID des Nutzers nehmen sondern zum Beispiel den Hash-Wert aus ID, Nutzer-Namen und einem Zufallswort zusammen. Da man die ID ja nicht replizieren sondern nur vergleichen muss, kann man auch einfach nur ein sehr langes Zufallswort aus Zahlen, Buchstaben und Sonderzeichen nehmen, das dann einfach beim ersten Login des Nutzers erstellt und gespeichert wird.
Wenn der Nutzer sich von verschiedenen Systemen einloggt, kann man auch alle unterschiedlichen speichern oder den Nutzer dann neu einloggen lassen.
Hilft dir das zur Realisierung weiter, sonst könnte ich noch ein kleines Tutorial dazu schreiben, wenn ich etwas mehr Zeit habe.
26.04.2013 um 02:36
Also das klingt jedenfalls einfacher als wenn ich das mit Request, HTTP, Form, Parameter irgendwie schreibe.
Es wäre zwar so etwas besser aber am anfang muss halt das mit cookies reichen^^
Und das mit der ID muss ich mal den Seitenadministrator fragen da ich nur für die App zuständig bin
EDIT:
Hat sich erledigt.
Die eine Seite hat keine Cookies, daher werde ich da immer wieder rausgeschmissen bei drehen des Handy`s.
Gibt es trotzdem eine Möglichkeit angemeldet zu bleiben?
26.04.2013 um 10:10
Wie wurde der Login denn dann realisiert, wenn nicht mit Session-Cookies? Ohne serverseitige Unterstützung wird es nämlich eh schwierig, da kann man fast nur noch die Login Daten per POST an die Seite senden, um so eine Eingabe der Daten zu simulieren.
27.04.2013 um 15:46
Mit diesem Code:
Aber wie mache ich das per POST?
Davon habe ich gar kein plan. Aber ich denke das bleibt meine einzige Möglichkeit eine Login page zu erstellen und sich damit anzumelden.
01.05.2013 um 17:23
Damit die Sache etwas übersichtlicher wird, habe ich mal ein Beispiel in einem neuen Thema geöffnet:
Daten per POST an eine WebView senden
Das sollte für dich eigentlich funktionieren...
02.05.2013 um 10:35
Ich kann zwar mich einloggen lassen, aber wie sollen das andere können?
Es wird von mehreren Leuten benutzt.
Vllt auf die MySql Datenbank zugreifen lassen für alle?
05.05.2013 um 10:15
Naja, die Login Daten müssten natürlich für jede Person individuell gespeichert sein, sonst funktioniert das ganze ja nicht. Die App muss die Login-Daten schon kennen.
Wie meinst du das mit der MySQL Datenbank? Einen vollen Zugriff für alle wäre unter Sicherheitsgesichtspunkten natürlich keine gute Idee.
Vielleicht müsstest du nochmal genau erklären, wie dein Projekt aussieht und was schon geht und was nicht, damit wir dir besser helfen können.
05.05.2013 um 14:48
Also das ich mich auslogge wenn ich das Handy drehe habe ich gefixt.
Eine Webview Navigation habe ich nun auch dank eurer Hilfe.
Was jetzt noch gut wäre, das ich ein layout erstellen mit edittext für Benutzernamen und Passwort und dem loginButton der bei erfolgreicher Prüfung dich gleich einloggt.
Die APP ist für mehr Leute gedacht.
05.05.2013 um 23:29
Wenn du Eclipse oder eine andere ähnliche IDE nutzt, sollte das ja eigentlich kein Problem sein. Einfach die Buttons auf die Oberfläche ziehen und fertig ;)
05.05.2013 um 23:47
Das layout ist kein Problem.
Eher die activity die benötigt wird.
Also wenn ich auf den button login klick, er mich dann eingeloggt auf den webview bringt.
Irgendwie muss ja ja der button schauen, ob es das Passwort und der Benutzer auf der Website gibt.
06.05.2013 um 12:43
Das kann aber nur der Server machen, deine App kann das nicht wissen.
Das was der Nutzer eingibt muss an den Server gesendet werden und da findet die Überprüfung statt. Sonst müssten ja alle Passwörter und Namen auch in der App hinterlegt sein.
06.05.2013 um 13:34
Aber gibt es eine möglichkeit mit so einem Layout z.B http://4.bp.blogspot.com/-ixMNP__Oaqc/ T6IEiWNZwSI/ AAAAAAAAAgE/ tzV_fRh3Fzs/ s1600/login-4.png sich einzuloggen und dann im Webview schon eingeloggt zu sein ohne die POST?
06.05.2013 um 22:59
Haben wir dir nicht genau das beantwortet einige Antworten über dieser? Wie du das Layout machst hat ja nichts mit der Technik zu tun, du kannst jede Technik mit einem beliebigen Layout kombinieren.
07.05.2013 um 00:27
Und mir fehlt die Technik nicht das Layout.
Das Layout habe ich ja.
Ich weis nicht mit welcher bzw wie ich die activity dazu schreibe.
07.05.2013 um 14:40
Die sollte sich doch auch nicht von den anderen unterscheiden, die du bisher hast oder?! Stell am besten ne neue Frage in der du genau dein Problem beschreibst, sonst wissen wir nicht, wie und wobei wir dir helfen können... ;)
07.05.2013 um 18:09