PHP için Temel kimlik doğrulama ve oturum yönetimi kütüphane?

4 Cevap php

Bu gibi sorular oldukça bu bir çok kez sordum, ama edilmiştir biliyorum. Ben bariz bir kopyasını gözden beni affet.

In the core of many of my web applications is a self-written user/session management class that in its origins dates back to 2002. I have deckimliked that it is time for a fundamental re-write or, preferably, the introduction of a ready-made standard library.

O kitaplığın Benim gereksinimleri olacaktır:

  • Nesne yönelimli, temiz, mükemmel kod
  • Tam oturum yönetimi: Sancı session_start () ve Consorts
  • Would kimlikeally provkimlike various storage methods (PHP Standard /tmp, database based)
  • Would kimlikeally be able to connect to different types of user data storage, but mySQL will do fine
  • Would kimlikeally provkimlike convenient functions for supporting OpenID, but that's a fancy thought, no requirement right now
  • Yöntem: kullanıcı oturumunu, kullanıcı oturum, oturum verileri almak, kullanıcı verileri almak, oturum doğrulayın
  • Ayarlar: Oturum süresi, şifre şifreleme
  • Açık Kaynak olmalı

Bu ise ve very jenerik, bir kullanıcı yönetimi API çevreleyen uygulamasının kullanıcı yönetimi için or genel bağlayıcı güzel olurdu:

  • Oluştur / Güncelle / kullanıcı kayıtlarını silmek
  • Fetch ve şu anda oturum açmış kullanıcının verileri değiştirmek

Bu ancak ben herhangi bilmiyorum, bu standart bir çözüm olduğunu beklediğiniz o kadar temel ve bu nedenle güvenlik alakalı ve tüm büyük CMSs ve bloglar kendi haddeleme gibi görünüyor.

Benim iki soru:

  • Bir generic, stand-alone kütüphane olarak böyle bir bileşeni biliyor musunuz?

  • Derin bilgiye sahip birisi Zend Framework, aksi ZF ile ilgisi büyük uygulamasının özünde, Zend_auth ve / veya Zend_session standalone kullanmak mümkün olup olmadığını bana söyleyebilir misiniz sorun çalışan olmadan?

4 Cevap

Derin bilgiye sahip birisi Zend Framework bu sorun için çalışan olmadan, aksi ZF ile ilgisi büyük uygulamasının özünde, Zend_auth ve / veya Zend_session standalone kullanmak mümkün olup olmadığını söyleyebilir misiniz?

Ben Zend Framework derin bilgiye sahip değilsiniz, ama ben bir Zend_Application nesnesi oluşturma veya MVC framework kullanmadan çeşitli bileşenleri (örn. Zend_Search) kullanmış ve ben kütüphanenin geri kalanı da tamamen modüler olarak tasarlanmıştır eminim. Ben Zend_Session kod olsa kazdık Son kez, herhangi bir dış içerir bulamadık Zend/Session/. A quick google devletler Zend SSS birlikte, Zend_Auth için bu onaylamak gibiydi:

Is ZF a component library or a framework?
Simple answer: both. Zend Framework provides all the components required for most web applications in a single distribution. But Zend Framework components are also loosely coupled, making it easy to use just a few components in a web application- even alongside other frameworks! Using this use-at-will architecture, we are implementing features commonly found in more monolithic frameworks. In fact, we are currently working on a tooling component for the 1.8 release that will make it simpler to build applications using ZF components, yet will not sacrifice the use-at-will nature of existing ZF components. It's a testament to the use-at-will architecture of Zend Framework that the tooling component itself can be used standalone.

MVC framework ile Zend_Search kullanmadığınız zaman yapmak zorunda tek şey nedeniyle Zend kütüphanede da içerir dahil yoluna Zend Framework kurulu dizin eklemek oldu. Belgeler Zend Autoloader kullanmadığınız zaman ihtiyacınız içeren belge değil, ama her şeyi PEAR sınıfı adlandırma şeması kullanır gibi, kullandığınız sınıf isimleri anlamak kolaydır. (Yani sınıf Foo_Bar_File Eğer Foo/Bar/File.php eklemeyi gerektirir)

Ben yazdım doğrulama kütüphanesi önerebilir miyim? Bu (bir çerçeve veya bir kısmı için yazılı olmayan) bir genel kütüphane: http://ulogin.sourceforge.net

Mevcut birkaç OpenID kütüphaneler vardır.

http://wiki.openid.net/Libraries#php

Geri kalanı için siz de sergiyi beri başkasının kütüphane muhtemelen bu değer daha fazla sorun olurdu, kendi rulo olabilir.

Benim anlayış bir kullanıcı ne standart bir tanımı yoktur çünkü standart kütüphane olmasıdır.

Benim bazı uygulamaları, kullanıcıların basitçe şeyler yapmak için oturum açın. Diğerlerinde ise, kullanıcılar bir şirketin bir parçası ve onların izinleri ve veri erişimi bu şirket ve şirket tarafından ödenen abonelik seviyesinin sınırları ile sınırlıdır. Diğer uygulamalarda, bazı kullanıcıların her şeyi erişimi olan yöneticileri, bazı kullanıcılar bazı veri (satır düzeyinde) erişimi olan yöneticileri vardır, ve diğer kullanıcılar sadece kendi verilerine erişimi, bu yöneticilerden müşterileri. Bazı kullanıcılar firmaları / şirketleri / müşterilerine bağlıdır, diğer kullanıcıların değildir. Bazı kullanıcılar, diğerleri gibi müşteriler, sipariş geçmişi, rapor tercihleri, yorumlar, büyük bir nesne grafiği sadece bir kullanıcı adı ve şifre vardır

Belki ben yanılıyorum ve ben olsa bulamadım içeri beş subclassing katmanları ve bin DB birisi oturum vurur gerektirmeyen bir sistem içine bu gereksinimleri tüm soyutlayarak bazı temiz bir yolu var.