NAS Synology a prázdná proměnná $_SERVER['AUTH_USER']

pb73

zdravím,
při provozování PHP aplikace potřebuji znát jméno uživatele, který aplikaci používá (na jeho základě mu přidělím práva)
v PHP by to mělo být v proměnné $_SERVER['AUTH_USER'] případně $_SERVER['REMOTE_USER']
na serveru IIS jsem na složce aplikace nastavil Ověřování > Anonymní přístup = zakázat + Ověřování syst.Windows = povolit.

Teď chci provozovat PHP aplikace na NAS Synology a nevím, kde to nastavit. Výše uvedené proměnné jsou prázdné, resp. ve výpisu phpinfo.php se vůbec nevyskytují.
Nevíte někdo co s tím?
Díky.
Petr


Re:NAS Synology a prázdná proměnná $_SERVER['AUTH_USER']
« Odpověď #1 kdy: 30. 04. 2024, 17:39:53 »
IIS implementuje NTLM autentizaci (resp. nástupce používajícího Kerberos), takže se uživatel přihlašuje svým účtem do Windows domény.

Synology NAS standardně používá Apache, takže potřebujete tento způsob autentizace zprovoznit i pod Apachem. Jestli se nemýlím, nějaké moduly pro Apache na to existují.

pb73

Re:NAS Synology a prázdná proměnná $_SERVER['AUTH_USER']
« Odpověď #2 kdy: 03. 05. 2024, 09:48:00 »
díky za odpověď.
řeším teď dvě otázky:
1) jak tu autentifikaci zprovoznit obecně na Apache?
2) jak se dá podrobně konfigurovat Apache na NAS?

Re:NAS Synology a prázdná proměnná $_SERVER['AUTH_USER']
« Odpověď #3 kdy: 03. 05. 2024, 09:58:19 »
1) jak tu autentifikaci zprovoznit obecně na Apache?
Hledejte např. „Apache httpd NTLM SSO“.

2) jak se dá podrobně konfigurovat Apache na NAS?
Do Synology NAS se normálně dostanete přes SSH na roota. Takže tma můžete nakonfigurovat cokoli.

pb73

Re:NAS Synology a prázdná proměnná $_SERVER['AUTH_USER']
« Odpověď #4 kdy: 06. 05. 2024, 08:47:27 »
nejsem v těch věcech moc zběhlý...
neexistoval by nějaký jednoduchý návod na konfiguraci Apache (NTLM SSO ) autentizace?
Díky. Petr


pb73

Re:NAS Synology a prázdná proměnná $_SERVER['AUTH_USER']
« Odpověď #5 kdy: 06. 05. 2024, 12:23:08 »
vlastně nevím, kterým směrem se vydat, nechci se zahrabat do odborných věcí, které nevyužiju...

Mi jde čistě o to, aby (a dříve to zařídil IIS a teď by to měl zřejmě zařídit Apache)
jsem v PHP aplikaci dokázal zjistit, kdo (windows login) je k aplikaci připojený?
autentizaci už si v aplikaci pořeším po svém...

Prosím o radu...
Díky. Petr

Re:NAS Synology a prázdná proměnná $_SERVER['AUTH_USER']
« Odpověď #6 kdy: 06. 05. 2024, 13:40:54 »
Kamarád radí toto:

1. Nainstalujte modul mod_auth_ntlm_winbind: Nejprve musíte nainstalovat tento modul, který umožňuje autentizaci NTLM, do Apache. Záleží na vašem operačním systému a distribuci Linuxu, jakým způsobem modul nainstalujete.

2. Nastavte konfiguraci Apache: Po nainstalování modulu musíte upravit konfigurační soubor Apache (httpd.conf nebo jiný relevantní soubor). Zde je ukázkový kód pro povolení autentizace NTLM:
Kód: [Vybrat]
LoadModule auth_ntlm_winbind_module modules/mod_auth_ntlm_winbind.so

<Location /secure>
    AuthName "NTLM Authentication"
    AuthType NTLM
    NTLMAuth on
    NTLMAuthoritative on
    require valid-user
</Location>
Tento kód povoluje autentizaci NTLM pro URL adresu /secure. Ujistěte se, že tuto konfiguraci přizpůsobíte vašim potřebám a umístěním, kde chcete použít NTLM autentizaci.

3. Restartujte Apache: Po úpravě konfigurace Apache restartujte server, aby se změny projevily.

PHP skript pro získání přihlašovacích údajů: Poté, co je autentizace NTLM povolena, můžete v PHP získat informace o přihlašovacích údajích uživatele pomocí $_SERVER['REMOTE_USER'].
Kód: [Vybrat]
<?php
if(isset($_SERVER['REMOTE_USER'])) {
    echo 
"Přihlášený uživatel: " $_SERVER['REMOTE_USER'];
} else {
    echo 
"Uživatel není přihlášen.";
}
?>

pb73

Re:NAS Synology a prázdná proměnná $_SERVER['AUTH_USER']
« Odpověď #7 kdy: 06. 05. 2024, 14:27:55 »
moooc děkuju,
pokusím se o to...
pak napíšu.
Petr