Röviden: Adott egy Moddle1.9.5.+ és egy MS AD, az azonosítás úgy néz ki, hogy működik, végere. Viszont az a kérdés merült fel, hogy hogyan oldható meg a hallgatók tananyaghoz való hozzá férésének szabályozása, mert sajna előfordul, hogy az AD -ben definiált csoportok között átfedések vannak. Tehát azt szeretném elérni, hogy X.Y csak 1 -es kurzusra tudjon beiratkozni míg W.Z betudjon az 1 -es, 2 -es és a 4 -esre is.
A kérdés az, hogy milyen módon lehet csoportosítani a felhasználókat a Moddle-ben még az oktatások megkezdése elött?
Még egy kérdés, miért történik az, hogy ha portál https:// alatt működik, akkor a tananyagokhoz társított tesztek eltűnnek! Viszont, ha http:// -t használunk minden teszt ismét látszódik!
A segítséget előre is köszönöm.
Tudom, hogy nem 100%-ig ide tartozik, de az LDAP-pal van bajom. Pontosabban nem is a szinkronizációval, hanem azzal, hogy nincs a felhasználóknak e-mail címük. A szinkronizáció végeztével, ha egy AD-s felhasználó be akar jelentkezni, akkor a profil oldala jön be, és kéri, hogy töltse ki az e-mail címet. Hogyan lehet ezt kikerülni, hogy bejelentkezés után rögtön a főoldalra kerüljön, és ne foglalkozzon a Moodle a hiányzó adatokkal (e-mail)? Üdv,
Az email címet nem érdemes kihagyni, ugyanis, ha üzenetet akarsz küldeni a felhasználónak, akkor azt nem fogod tudni megtenni, ha nincs beállítva a profiljában.
Az email mező kitöltése kötelező, így azt teheted, hogy mindenkinek a címtárban beállítasz egy mezőt valamilyen címmel, praktikusan vezeteknev.keresztnev@localhost.localdomain (mert ilyen postafiók nincs) és az email címet a profilban kikapcsolod.
Most hirtelen más nem jut az eszembe.
Jó munkát!
RPi
Szia! Közben keresgettem én is egy kicsit, és ez is működik nálam (1.9.5+)
user/editlib.php fájlban az alábbi sort kikommentelni. ez kiszedi a kötelző mezők közül.
$mform->addRule('email', $strrequired, 'required', null, 'client');
Már csak a helyeség vizsgálatot kell kiszedni.
user/aditadvanced.php fájlban kikommentelni az alábbi részt:
if (!$user or $user->email !== stripslashes($usernew->email)) {
if (!validate_email($usernew->email)) {
$err['email'] = get_string('invalidemail');
} else if (record_exists('user', 'email', $usernew->email, 'mnethostid', $CFG->mnet_localhost_id)) {
$err['email'] = get_string('emailexists');
}
}
és végül a lib/moodlelib.php fájlban megkeresni ezt a sort:
return ($user->username != 'guest' and (empty($user->firstname) or empty($user->lastname) or empty($user->email) or over_bounce_threshold($user))); és kitörölni belőle az e-mail-re vonatkozó részt, hogy ilyen legyen:
return ($user->username != 'guest' and (empty($user->firstname) or empty($user->lastname) or over_bounce_threshold($user)));
Írták még, hogy az adatbázisban az mdl_user táblában engedélyezni kell az e-mail mezőre a null értéket. Én ezt nem tettem meg, de így is működik. Üdv,
http://docs.moodle.org/en/NTLM_authentication#Using_the_mod_auth_sspi_Module_for_Apache_2_on_Windows
Notice: Undefined index: REMOTE_USER in C:\wamp\www\elearning\auth\ldap\whoami.php on line 8
You appear to be user
logged into the Windows NT domain (no domain info - perhaps SSPIOmitDomain is On)
Talán ennek a megfejtése közelebb vinne a megoldáshoz. Üdv,