konto usunięte

Temat: Uwierzytelnienie w Drupal za pomocą zewnętrznego serwera...

Mam instalację Drupala 7 i chciałbym uwierzytelniać użytkowników za pomocą zewnętrznego serwera MSSQL, który przechowuje dane pracowników firmy (jest tam m.in.: nr pracownika, jako login; hasło używane w innym wewnętrznym systemie). Na początku ma to pozwolić konkretnym użytkownikom edytować treści na stronie w Drupalu, a docelowo ma pozwolić na zbudowanie Intranetu dla pracowników (treści dostępne po zalogowaniu).

Zastanawiam się jak to zrobić najlepiej, żeby cały mechanizm miał ręce i nogi. Z przemyśleń i przeprowadzonego researchu wyłaniają się 2 drogi:

1. Stworzyć centralny system uwierzytelnień, który z punktu widzenia przyszłości jest kuszący, bo inne systemy będzie można z nim integrować. Kwestią problematyczną tego rozwiązania jest stworzenie czegoś pośredniczącego w komunikacji między systemem a bazą MSSQL. Jakimś wyjściem jest tutaj LDAP. Pytanie jak zasilić LDAP'a danymi z bazy MSSQL, żeby odpytując LDAP'a z poziomu Drupala (PHP) uzyskać dane z MSSQL, co w konkretnym przypadku weryfikacji loginu i hasła pozwoli uwierzytelnić użytkownika?

2. Użyć bezpośredniego połączenia z MSSQL z poziomu Drupala (PHP) i zwykłym SELECTem sprawdzić czy login i hasło są poprawne? Jest to jakieś wyjście, ale tylko dla tej konkretnej strony www w Drupalu.

W obu przypadkach problematyczna wydaje się też kwestia ról i uprawnień. Są one specyficzne dla Drupala i muszą być przechowywane w jego strukturze. Inaczej mówiąc, nawet majac mechanizm uwierzytelnienia potrzebny jest jeszcze mechanizm autoryzacji, czyli powiązanie użytkownika z zewnętrznej bazy z rolami i uprawnieniami w Drupalu. Jak to zrobić?Ten post został edytowany przez Autora dnia 19.07.13 o godzinie 00:14
Grzegorz Bartman

Grzegorz Bartman Let's build a big
website together!

Temat: Uwierzytelnienie w Drupal za pomocą zewnętrznego serwera...

Zajrzyj do książki Pro Drupal 7 Development na stronę 130 http://books.google.pl/books?id=vAihEyHcFBgC&lpg=PP1&h... Ten kawałek kodu powinien Ci pomóc w wykonaniu mechanizmu logowania sprawdzającego poprawność użytkownika i hasła w zewnętrznej bazie danych.

Jeśli konta użytkowników przeniesiesz do LDAP to wystarczy moduł https://drupal.org/project/ldap

konto usunięte

Temat: Uwierzytelnienie w Drupal za pomocą zewnętrznego serwera...

Grzegorz B.:
Zajrzyj do książki Pro Drupal 7 Development na stronę 130 http://books.google.pl/books?id=vAihEyHcFBgC&lpg=PP1&h... Ten kawałek kodu powinien Ci pomóc w wykonaniu mechanizmu logowania sprawdzającego poprawność użytkownika i hasła w zewnętrznej bazie danych.
A co z rolami i uprawnieniami? Musze dopisać funkcjonalność, która np. przy pierwszym logowaniu doda jakąś relację między użytkownikiem drupala a bazą mssql? Wiem, że jest user_external_login_register(), które zaloguje lub utworzy użytkownika w Drupalu, ale na sztywno zapisze dane. Co jeśli chciałbym utrzymać synchronizację - czytaj ktoś zmieni hasło czy login w zewnętrznej bazie? utworzy kolejne konto? (takie rozwiązanie raczej jest bez sensu)

Jeśli konta użytkowników przeniesiesz do LDAP to wystarczy moduł https://drupal.org/project/ldap
Tyle to ja wiem, ale nie jestem ekspertem od bazy MSSQL czy LDAPa i po prostu nie wiem jakie są możliwości w tej kwestii - stąd ten wątek.Ten post został edytowany przez Autora dnia 19.07.13 o godzinie 07:40

Następna dyskusja:

Drupal: tematy, moduly, wsp...




Wyślij zaproszenie do