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 . 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
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:
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
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:
- uživatel zadá jméno a heslo
- v externí databázi se spustí SELECT pomocí zadaného jména a hesla (heslo může být plain text nebo hash)
- pokud je nalezen daný uživatel, znamená to, že jméno a heslo je správné
- 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.
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
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.
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.
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ý
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ý
takze:
- 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
- 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.