Personal tools
You are here: Home Użytkownicy jeremi LDAPUserFolder

LDAPUserFolder


Powrót do strony rozwiązań

Pierwszą, a zarazem najważniejszą rzeczą, jest zainstalowanie rozszerzeń do naszego Pythona aby w ogóle LDAPUserFolder zadziałał. W przypadku windy jest jeszcze jeden problem, na który możemy napotkać - otóż przy instalacji Zope'a Python niekoniecznie dodaje informacje o sobie do rejestru, co jest wymagane przy uruchamianiu jakichkolwiek rozszerzeń. Rozwiązaniem problemu jest następujący skrypt :

 

import sys
from _winreg import *
# tweak as necessary
version = sys.version[:3]
installpath = sys.prefix
regpath = "SOFTWARE\\Python\\Pythoncore\\%s\\" % (version)
installkey = "InstallPath"
pythonkey = "PythonPath"
pythonpath = "%s;%sLib\\;%sDLLs\\" % (
    installpath, installpath, installpath
)
def RegisterPy():
    try:
        reg = OpenKey(HKEY_LOCAL_MACHINE, regpath)
    except EnvironmentError:
        try:
            reg = CreateKey(HKEY_LOCAL_MACHINE, regpath)
            SetValue(reg, installkey, REG_SZ, installpath)
            SetValue(reg, pythonkey, REG_SZ, pythonpath)
            CloseKey(reg)
        except:
            print "*** Unable to register!"
            return
        print "--- Python", version, "is now registered!"
        return
    if (QueryValue(reg, installkey) == installpath and
        QueryValue(reg, pythonkey) == pythonpath):
        CloseKey(reg)
        print "=== Python", version, "is already registered!"
        return
    CloseKey(reg)
    print "*** Unable to register!"
    print "*** You probably have another Python installation!"
if __name__ == "__main__":
    RegisterPy()

Zapisać to sobie jako np. register.py i odpalić - wykona się ładniście i mamy już Pythona zarejestrowanego.

OK, zakładam że mamy już zainstalowane rozszerzenia do Pythona oraz ściągniętą najnowszą, stabilną wersję LDAPUserFolder. Instalujemy nasz produkt w wiadomym miejscu (np. Zope-Instance\Products) i restart Zope'a.

Mamy już zainstalowanego, działającego LDAPUserFolder, a więc połowa drogi za nami - teraz przechodzimy do ZMI i acl_users w naszym portalu. Następnie zakładka Sources i dodajemy nowe źródełko jak LDAPUserFolder właśnie :)

Teraz odrobinę czarnej magii :)

Najpierw przejdźmy w zakładkę LDAP Schema - tam dodamy nowy schemat -

LDAP Atribute Name : sAMAccountName

Friendly Name : login_win

Następnie z powrotem do zakładki Configure i teraz zajmujemy się pełną konfiguracją.

Jest tu 13 możliwych pól do konfiguracji:

1 - tytuł inaczej mówiąc nazwa wyświetlana naszego źródełka

2 - wybieramy sAMAccounName

3 - wybieramy cn (Cannonical Name)

4 - jak p.3

5 - tu ustwiamy gdzie znajdują się nasi użytkownicy - ogólna zasada jest następująca : od najbardziej zagnieżdżonego źródła aż do nazwy domeny czyli jeżeli nasi userzy są w organizacji 'Firma', która jest w kolejnej organizacji 'Firma_1' w domenie mojadomena.pl to adres który się tu pojawi będzie następujący :

ou=Firma,ou=Firma_1,dc=mojadomena,dc=pl

jako SCOPE wybieramy SUBTREE

6 - tu decydujemy czy grupy mają być pociągnięte z LDAP czy też nie (ja preferuje to drugie rozwiązanie)

7 - tu decydujemy o mapowaniu grup LDAP do grup Zope (ja mam ustawione automatyczne)

8 - tu ustwiamy gdzie znajdują się nasze grupy (zazwyczaj ten sam adres co w p.5)

9 - tu wpisujemy scieżkę dostępu do konta administratora AD - tak na prawdę to nie jest wcale a wcale potrzebny user z prawami administracyjnymi a jedynie taki, który może przeszukiwać AD by znaleźć userów czyli de facto normalny user - najlepiej stworzyć sobie takowego np. LDAPauth. Ścieżka w takim przypadku może wyglądać następująco : cn=LDAPauth, cn=users, dc=mojadomena, dc=pl

password = tu chyba nie trzeba wyjaśnień :)

10 - tu ustawiamy na always

11 - top,person

12 - SHA

13 - zmiana na Authenticated

i Apply Changes - już prawie w domu:)

Ostatnią rzeczą jest dodanie naszego serwera LDAP - czyli wpisujemy IP bądź nazwę hosta, klikamy Add i voila!!

Nasz LDAPUserFolder hula jak ta lala. I wszystko jest prawie OK - dlaczego prawie ktoś zapyta - ano spróbujcie szukać userów, którzy w imieniu bądź nazwisku mają polskie litery :) Ale rozwiązanie tego problemu umieściłem już wcześniej na forum - poszukać sobie !! :P

Mam nadzieję, że było pomocne.

Powrót do strony rozwiązań

Document Actions