Subversion basit bir in-house önyüz yazıyorum. Biz SVN kadar hizmet veren bir Apache kurulum WebDAV sayesinde depoları var. Ayrıca, kimlik doğrulama, bir Apache alemine ve Open Directory aracılığıyla yapılır. Bu değer ne için, bu temelde bir çok vanilya Mac OS X Server 10.6 kurulum.
Şimdi, bizim ön uç görevlerin bazıları eylem çağıran kullanıcı adını bilmek gerek tekmeleme sorumludur. Biz aslında onu yaratan kim doğru günlükleri olsun, böylece, örneğin, bir depo oluşturarak ihtiyacı. Ben bu bilgileri temin etmezseniz, SVN sadece bizim durumda kullanıcı çalışan httpd hangi oluşturulduğu işlemi kullanır.
Ben php yapıyorum, ama ben mutlaka bu kullanarak php uygulamak gerekmez. Ben bir kabuk içinde bilgi alabilirsiniz eğer bu çok iyi. Önemli Bir şekilde bilgi almak olduğunu. Doğru benim kullanıcı adı bildirdi beri ben çalıştım varsayılır ilk geliştirilen çözüm, basit çağırıyor:
get_current_user();
Ancak, bu bazı diğer kullanıcı alemine oturum açmış olurken eylemi başlıyor olsa bile, always Benim kullanıcı adını döndürmek için görünüyor. Doğru kullanıcı almak için bir yolu var mı?
EDIT: Burada silah atlamak için biraz hızlı olabilir. Eski değişken belli bir süre sonra set almaz sanki görünüyor. Giriş yapmak için hiçbir istek yok gibi, ancak kullanıcı hala kaydedilir. Böylece, aşağıda önerilen çözüm gerçekten uygulanabilir değildir.
Şimdi bir idjit gibi hissediyorum. (Bulmak zor olsa da) Bu basit pasajı çalıştı:
$username = $_SERVER["PHP_AUTH_USER"];
Ancak, bu yaptım:
$username = apache_getenv("REMOTE_USER");
Herkes ikinci neden çalışmıyor gibi bir fikir var mı? Ben bulabildiğim tek dokümanlar Apache 2 üzerinde bu sadece çalışır. Ancak, ben o olamazdı Apache 2 çalıştıran aslında duyuyorum öneririz.