externa databaza - autentifikacia

externa databaza - autentifikacia

autor Peter Debnár -
Počet odpovědí: 4
dobry den,

mal by som dotaz ohladne autentifikacie (overovanie pouzivatelov) z externej databazy. celkom som nepochopil ako to presne funguje ked mam externu databazu (tabulku), ludia sa autentifikuju podla nej, ale raz rocne tu externu tabulku updatnem/zmenim (je to len nahlad z inej databazy/tabuliek) a ja neviem co sa stane s uzivatelom napr. Fero Mrkvicka, ked si napr. zmenil heslo a ja tu externu tabulku updatnem aj s jeho "povodnym" heslom ... ze ci jeho nove heslo je uz niekde v internej tabulke moodla, alebo ci mu fakt bude zmenene jeho zmenene heslo na povodne úsměv . ide teda o to, ze ja tu externu tabulku robim ako nahlad z databazy informacneho systemu a ten nahlad robim kazdy rok (cize su tam stare zaznamy, ale pribudnu aj nove), a neviem ako sa zachovaju tie stare zaznamy, hlavne co sa tyka hesla, prip. aj inych veci, co si user v moodli updatne vo svojom profile.
dakujem za odpoved/radu, ak
Počet hodnocení: -
V odpovědi na Peter Debnár

Re: externa databaza - autentifikacia

autor David Mudrák -
Obrázek: Moodle HQ Obrázek: Obzvláště nápomocní moodlisté Obrázek: Překladatelé Obrázek: Vývojáři
Dobrý den,

AFAIK Moodle si pro každého uživatele vytváří svůj záznam ve vlastní tabulce mdl_users. Při každém přihlašování se ptá externí databáze, zda se uživatel s daným jménem a heslem může přihlásit. Důležité je tedy heslo, které má uživatel v externí databázi. U ostatních polí jde nastavit, zda a případně odkud kam se mají synchronizovat.
External DB auth funguje zjednodušeně takto:
  1. uživatel zadá jméno a heslo
  2. v externí databázi se spustí SELECT pomocí zadaného jména a hesla (heslo může být plain text nebo hash)
  3. pokud je nalezen daný uživatel, znamená to, že jméno a heslo je správné
  4. po úspěšném přihlášení dojde k synchronizi dat v Moodlu a externí databázi podle toho, jak máte nastaveno mapování dat.
Já z externího zdroje (rovněž SQL pohledu) mapuji křestní jméno, příjmení a email a do Moodle je přebírám při každém přihlášení. Ale konkrétní nastavení záleží na vašich potřebách.

Pokud budete mít nějaká další zjištění a zkušenosti, uvítáme, pokud se zde podělíte. Díky předem.

--mudrd8mz
V odpovědi na David Mudrák

Re: externa databaza - autentifikacia

autor Peter Debnár -
takze ak som to spravne pochopil, ak ja beriem z ext. databazy aj heslo a uzivatel si ho zmeni (zmeni sa mu v externej databaze) a ja ext. databazu updatnem povodnou, tak mu prepisem jeho zmenene heslo, vsak? to potrebujem vediet. prip. ci sa jeho heslo tiez synchronizuje s internou tabulkou a uz sa potom z ext. tabulky neberie.
ak to tak nie je - teda ka sa heslo berie LEN z externej tabulky, tak budem musiet nahlad novy vytvarat nie cely, ale len nove zaznamy davat do nahladu.
V odpovědi na Peter Debnár

Re: externa databaza - autentifikacia

autor David Mudrák -
Obrázek: Moodle HQ Obrázek: Obzvláště nápomocní moodlisté Obrázek: Překladatelé Obrázek: Vývojáři
Pak ještě máte druhou možnost - používat externí databázi uživatelů, ale heslo uchovávat v Moodle. Potom je externí databáze použita pouze pro zjištění, zda je zadané uživatelské jméno platné a případně pro načtení namapovaných údajů. Heslo se už ověřuje oproti databázi Moodle, takže můžete váš pohled aktualizovat dle libosti.
Aby si External DB bral heslo z Moodlu a nikoliv z externí databáze, musíte v jeho nastavení zvolit Formát hesla na hodnotu Interní.
Neměl jsem příležitost to zkoušet nebo studovat zdrojové kódy, takže vám neřeknu, jak se Moodle v tomto případě chová při vůbec prvním přihlášení uživatele, když jeho záznam v Moodle ještě neexistuje a tudíž není oproti čemu ověřit heslo. Pokud to zjistíte, jsem sám zvědavý kulit oči
V odpovědi na Peter Debnár

Re: externa databaza - autentifikacia

autor Peter Debnár -
takze:
  1. externu databazu/tabulku vytvaram ako nahlad (SELECT) z potrebnych tabuliek a teda je vzdy aktualna - aj ked sa nieco zmeni v originalnych tabulkach - prejavi sa to samozrejme v nahlade, netreba ju aktualizovat manualne
  2. heslo pri pouzivatelovi z externej databazy moodle neumoznuje zmenit (som prave zistil), co je vlastne to, co potrebujem ... cize "problem" mam tym padom vyrieseny. ... heslo si pouzivatel zmeni v tom systeme, ktory pracuje s tymi "ostrymi" datami z databazy.