2012-04-09 6 views
3

Ich arbeite an einer Methode der Authentifizierung, und ich habe 2 Textfelder mit dem Namen 'Benutzername' und 'pass' Ich möchte es so machen, dass, wenn der Benutzer ihren Benutzernamen und Passwort eingibt, diese Informationen in einem Text gespeichert wird Datei. Wenn sie sich wieder einloggen, liest sie den Benutzernamen und das Passwort aus dieser Textdatei, um sich anzumelden. Wie kann ich das tun? Dank: DWie schreibe ich in eine Textdatei in ActionScript 3.0?

+0

Wenn es sich um eine Webanwendung handelt, sehen Sie sich die Klasse [SharedObject] (http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/SharedObject.html#includeExamplesSummary) an (create ein lokales gemeinsames Objekt zum Speichern von Daten). Wenn es sich um eine AIR-App handelt, verwenden Sie die Klasse [File] (http://help.adobe.com/de_DE/FlashPlatform/reference/actionscript/3/flash/filesystem/File.html) –

+0

Benutzernamen und Passwort als Fließtext speichern ist eine schlechte Idee. Stellen Sie sicher, dass Sie in eine Art von Verschlüsselung schauen. –

Antwort

5

Speichern in einer Textdatei möglich ist (die File-Klasse in AIR verwendet wird), aber das ist nicht wirklich ein toller Ansatz. Stattdessen sollten Sie die Shared Klasse

Schnell Beispiel Kasse:

var sharedObject:SharedObject = SharedObject.getLocal("userInfo"); //this will look for a shared object with the id userInfo and create a new one if it doesn't exist 

Sobald Sie einen Griff auf Ihrem Shared hat

sharedObject.data.userName = "Some username"; 
sharedObject.data.password= "Some password"; //it's really not a good idea to save a password like this 
sharedObject.flush(); //saves everything out 

nun Ihre Daten wieder zu bekommen, an anderer Stelle im Code

var sharedObject:SharedObject = SharedObject.getLocal("userInfo"); 
trace(sharedObject.data.userName); 
trace(sharedObject.data.password); 

Dieses Objekt wird lokal auf dem Computer des Benutzers gespeichert. Es ist einem Browser-Cookie sehr ähnlich.

Das Speichern eines Kennworts für dieses Objekt im Klartext ist keine gute Idee. Ein besserer Plan wäre, die Login-Informationen auf einem Server zu validieren und eine Session-ID irgendeiner Art in diesem Objekt zu speichern.

in Pseudo-Code:

function validateLogin(){ 
    var sessionID = server->checkLogin(username, password); //returns a string if authed, nothing if not 
    if(sessionID){ 
     sharedObject->sessionID = sessionID; 
    } else { 
     //bad login 
    } 
} 

More reading:

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/SharedObject.html

http://www.republicofcode.com/tutorials/flash/as3sharedobject/

0

ideal, können Sie keine Datei mit Flash schreiben (es sei denn es eine AIR-Anwendung ist). FLash soll auf dem Browser laufen, so dass der Zugriff auf die Systemressourcen (wie Ihr Dateisystem) eine Sicherheitsbedrohung darstellt. AIR ist jedoch eine Technologie, bei der Flash als Desktop-Anwendung ausgeführt wird und unter diesen Bedingungen eine Datei schreiben kann.

Shared Object ist ein Ansatz, bei dem Flash einige temporäre Daten in der Browser-Umgebung speichern kann, aber wenn Sie den Cache leeren und Browser-Dateien löschen, denke ich, dass er auch geleert wird.