Přesun uživatelských účtu do jiné databáze   zodpovězená otázka

ASP.NET WebForms, SQL, Databáze

Zdravím,

předělávám jednu webovou aplikaci a potřebuji přesunout uživatelské účty včetně hesel do nové databáze. V původní databází jsou hesla zahashované, tak si nevím rady, jak je přesunout. Jenom zkopírovat původní tabulku nemohu kvůli providrům, které používám. Jak tedy na to?

Napadlo mě akorát zkopírovat hash a salt z původní databáze, ale třeba to může být vytvořené pomocí jiné hashovací funkce, navíc nebudu ručně kopírovat 300 řádků v databázi.

Potom ještě napsat každému uživateli, ať znova zadá heslo, ale to je velmi nepraktické a uživatele by to otravovalo.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Záleží na tom jak heslo nyní ukládáte. Používáte něco vlastního, nebo nějaký standardní ASP.NET provider?

Pokud nějakého providera, tak ty většinou k vytvoření zahashované hesla používají Machine Key. Ten pak jde zadat do Web.config a zajistit tak stejné hashování hesel při přesunu na jiný server.

Pokud jde o to ručně kopírovat 300 řádků, tak přes Management Studio (pokud se jedná o SQL Server) lze vyscriptit tabulku včetně dat to sql insert příkazů. 300 není pro SQL databáze vůbec žádný problematický počet záznamů.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Původní aplikaci jsem nedělal, tudíž nevím, jakým způsobem se heslo ukládá. Ale plánuji použít Altairis Web Security providry.

Navíc původní aplikace byla vytvořena v PHP.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Podle mě jsou principiálně jen 2 varianty

1) Znáte algoritmus ukládání hesel ve starém systému. V takovém případě budete muset naprosto ekvivalentní algoritmus (včetně klíčů apod.) implementovat i v systému novém tak, aby se uživatelé starého systému mohli stejným heslem přihlašovat i na systém nový (protože díky hashování se k jejich současným heslům nedostanete).

2) Přenesete pouze uživatelé (email/login) a jejich data, ale jejich hesla ne. Uživatelé si před prvním přihlášení na novém systému budou muset provést reset hesla (a o této skutečnosti je budete nějakým způsobem informovat). Při resetu hesla se pošle na jejich mail zpráva s odkazem pro zadání nového hesla (to se pak uloží již novým způsobem). Předpokladem je, že máte v systému jedinečný email uživatelů.

nahlásit spamnahlásit spam 2 / 2 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback