2012-01-24 14 views
18

Chciałbym zapytać, czy istnieje standard do przechowywania nazwy użytkownika i hasła w aplikacji Windows Phone. Pracuję nad projektem, który sprawdza użytkownika pod każdym wywołanym żądaniem. Tak więc chcę zapisać nazwę użytkownika i hasło. Może nawet dać im możliwość "zapamiętania mnie", więc jeśli nie ma standardu, aby to zrobić, będę musiał napisać to sam, ale przypuszczam, że Microsoft ma wbudowany.Czy istnieje standard przechowywania nazwy użytkownika i hasła w aplikacjach WP7?

Odpowiedz

20

Użyj ProtectedData. Znalazłem ten przykład na Kevin D. Wolf's efficientcoder.net:

public static String Password { 
     get { 
      if (IsolatedStorageSettings.ApplicationSettings.Contains(STR_PASSWORÐ)) { 
       var bytes = IsolatedstorageSettings.Applicationsettings[STR_PASSwORÐ] as byte[]; 
       var unEncrypteBytes = ProtectedData.Unprotect(bytes, null); 
       return Encoding.UTF8.GetString(unEncrypteBytes, 0, unEncrypteBytes.Length); 
      } else { 
       return string.Empty; 
      } 
     } 
     set { 
      var encryptedBytes = ProtectedData.Protect(Encoding.UTF8.GetBytes(value), null); 
      IsolatedStorageSettings.ApplicationSettings[STR_PASSWORÐ] = encryptedBytes; 
     } 
    } 

(Przepraszamy za wyciąć i wkleić musiałem użyć tekstu ze skanowania obrazu)

+0

Cześć, dziękuję za odpowiedź, znalazłem to bardzo przydatne! Tylko jedno: napisałeś "e" zamiast "0", jak przypuszczam, jako drugi parametr w Encoding.UTF8.GetString(). Pozdrawiam ^^ –

+1

dzięki - poprawione. Możesz poprawić odpowiedź. –

6

Powinieneś zaszyfrować skorzystać haseł i innych poufnych danych za pomocą klasy rutyny ProtectedData i ręcznie przechowuj je w magazynie izolowanym dla swojej aplikacji.

Aby zaszyfrować enter image description here

Aby odszyfrować enter image description here

Ponadto, upewnij się dodać odwołanie do mscorelib przedłużony do swojego projektu. Musiałem się tego nauczyć na własnej skórze.

Dobry artykuł na ten temat to: http://debugmode.net/2011/10/16/protecting-password-or-any-data-in-windows-phone-7-using-data-protection-api/

+0

Co jest z obrazami kodu? –

+0

Sorry =) Pisałem odpowiedź w drodze z iPada, a napisanie kodu w przeglądarce jest dla mnie niezwykle skomplikowane. –

+0

To nie była próba zwracania większej uwagi na odpowiedź, jeśli o to pytasz =) Chociaż teraz widzę, że jest bardziej żywy, kiedy kod jest większy. –

Powiązane problemy