Synology-Forum.nl
Overige software => Web Station => Topic gestart door: Sunray op 09 juni 2012, 22:18:05
-
Goedenavond,
Gebruik:
Ik gebruik mijn DS1010+ als een prive-verzamelplaats voor alle foto/film/muziek bestanden binnen mijn familie. Hierbij hebben familie-leden een account gekregen waarmee ze via file-station en photo station o.a. foto's kunnen bekijken en uploaden. Zeker met de synology apps wordt er in beperkte kring op een gemakkelijke manier foto's van kinderen, kleinkinderen, uitstapjes en bijzondere gebeurtenissen gedeeld.
Context:
Momenteel draait mijn DS1010+ vlekkeloos met voornamelijk File station, Photo station en de ingebouwde webserver. Ik was blij verrast met de mogelijkheid om photo-station accounts te koppelen aan DSM-accounts, aangezien mijn file station geruikers en photo station gebruikers dezelfde zijn.
Op het moment ben ik bezig met een php website die dienst gaat doen als een soort portal. Hierin kunnen geauthoriseerde gebruikers (lees: familie-leden) in een overzicht korte berichtjes delen, zien wat de meest recente filmpjes en of foto's zijn en met een link meteen inloggen in ofwel file-station, dan wel photo-station. (later uit te breiden met een familie-chat, meerdere blogs, polls, calender etc.)
Vraag:
In navolging van de optie bij photo-station om gebruik te maken van DSM-accounts als gebruikers, zoek ik een oplossing om via een (php)inlogscherm op de homepage (index.html) van de webserver in te loggen op een 'members-online'-sectie. Specifiek zoek ik een manier om voor de authorisatie gebruik te maken van de DSM-accounts, zodat ze na inloggen ook meteen kunnen doorlinken naar file/photo-station zonder opnieuw dezelfde accountgegevens in te voeren.
Samengevat:
Hoe kun je de DSM-accounts benaderen via php zodat:
- DSM-gebruikers kunnen inloggen op een members-only sectie op de webserver van de NAS
- De inlog-gegevens van de members-only sectie meegegeven kunnen worden in de link naar file/photo - station
Met eenmalig inloggen op de website kunnen gebruikers dan zowel photo/file-station als de member-only sectie van de website gebruiken binnen de specifieke rechten van die DSM-gebruiker.
Hopelijk kan iemand mij verder helpen ;-)
-
Ik heb er geen ervaring mee maar volgens mij kun je hier gebruik maken van LDAP.
LDAP is verkrijgbaar in DSM 4.
Je php inlog applicatie stuurt een DN e.d. naar LDAP en die controleerd de account gegevens en bepaald welke rechten de inloggende gebruiker heeft.
-
Aangezien Sunray hiervoor een bedankje heeft gestuurd aan raptile lijkt het voor mij dat dit de gouden tip was.
Ik heb dus ook de Directory service ldap geactiveerd.
Om in te loggen heb ik de open source class adLDAP geprobeerd:
http://adldap.sourceforge.net/ (http://adldap.sourceforge.net/)
Bij het uitvoeren van het bijgevoegde example krijg ik de error:
exception 'adLDAPException' with message 'No LDAP support for PHP. See: http://www.php.net/ldap' (http://www.php.net/ldap') in /volume1/web/lib/ldap/src/adLDAP.php:602 Stack trace: #0 /volume1/web/lib/ldap/examples/authenticate.php(27): adLDAP->__construct() #1 {main}
Referentie naar de php.net zegt dat de PHP ldap library niet is geïnstalleerd.
Het leek mij dat deze meteen mee geïnstalleerd is met het activeren van de Directory Service?
Mis ik nog iets anders? php config?
Vast bedankt!
-
Aangezien Sunray hiervoor een bedankje heeft gestuurd aan raptile lijkt het voor mij dat dit de gouden tip was.
Ik heb dus ook de Directory service ldap geactiveerd.
Om in te loggen heb ik de open source class adLDAP geprobeerd:
http://adldap.sourceforge.net/ (http://adldap.sourceforge.net/)
Bij het uitvoeren van het bijgevoegde example krijg ik de error:
exception 'adLDAPException' with message 'No LDAP support for PHP. See: http://www.php.net/ldap' (http://www.php.net/ldap') in /volume1/web/lib/ldap/src/adLDAP.php:602 Stack trace: #0 /volume1/web/lib/ldap/examples/authenticate.php(27): adLDAP->__construct() #1 {main}
Referentie naar de php.net zegt dat de PHP ldap library niet is geïnstalleerd.
Het leek mij dat deze meteen mee geïnstalleerd is met het activeren van de Directory Service?
Mis ik nog iets anders? php config?
Vast bedankt!
Kijk eens in de DSM: Configuratiescherm - Webservices - tab PHP instellingen - knop PHP extensie selecteren...
Ik zou wel via https gaan werken :wink:
Succes!
Wizjos
-
Thnx dat was hem!
Krijg nu nog wel een authentication failed maar dat heeft denk ik met de ldap settings binnen de adLDAP.php te maken :)
Waarom is het verder zo noodzakelijk om https te gaan werken als LDAP enabled is?
Ik neem verder aan dat dit ook redelijk eenvoudig in te stellen is binnen synology?
Edit:
Inmiddels al een paar uurtjes erin zitten maar krijg het maar niet voor elkaar om de authenticatie op te zetten.
Mijn base DN is: dc=DS412,dc=local
In de adLDAP.php heb ik de volgende settings:
protected $accountSuffix = "@DS412";
protected $baseDn = "dc=DS412,dc=local";
protected $domainControllers = array("dc01.DS412.local");
In php op volgende manier connectie proberen te maken:
$adldap->user()->authenticate('user', 'pass');
De error die ik krijg met $adldap->getLastError(); is:
Can't contact LDAP server
Ik mis dus nog ergens, denk ik, een klein ding.
Iemand nog ideeën wat verder te proberen? Mis ik iets in mijn config?
Alvast bedankt!