CakePHP ve Kerberos

1 Cevap php

CakePHP üzerine inşa edilmiş bir web uygulaması var. Şu anda ile kullanıcı doğrulama / Erişim Denetimi yapıyor yerleşik AuthComponent ve ACL işlevselliği.

Bizim organizasyon boyunca, hepimiz kendi kullanıcı / pass combo gerektiren (aksi web ve) birçok uygulamalar var. Firmamız 'tek oturum açma' işlevselliği için iç uygulamalar gibi birçok göç etmek isteyen ve umut merkezi kullanıcı-mağaza için Kerberos kullanmaktır.

Birisi app kendisini kullanmasına izin kullanıcıların bir uygulama düzeyi veritabanına karşı doğrulamak için AuthComponent değiştirerek bu saldırıya, ama sonra kullanıcının uname / pwd combo doğrulamak için (kullanıcı bulundu varsayarak) Kerberos iletişim olabilir, merak ediyorum .

Herhangi bir tavsiye mutluluk duyacağız.

1 Cevap

Sen orijinal AuthComponent genişleten yeni bir bileşen oluşturabilirsiniz. Sonra giriş yöntemini geçersiz kılmak ve orada diğer kimlik ekleyin. Bu çözüm AuthComponent böyle uzatılabilir için tasarlanmış olsa bile, çok rahat ve çok müdahaleci değil.

App::import('Core', 'Auth');
class AuthenticationComponent extends AuthComponent {
    public $components = array('Session', 'RequestHandler', 'Sso');
    public $loginRedirect = array('controller' => 'frontpage');
    public $Controller = null;
    public $loginAction = array('controller' => 'login');
    public $authorize = 'actions';
    public $loginError = Notifications::LOGIN_FAILED;
    public $authError = Notifications::ACTION_NOT_ALLOWED;

    public function login($data) {
    	if(parent::login($data)) {
    		// OTHER AUTHENTICATION HERE
    		return true;
    	}
    	else {
    		// stuff
    	}
    	return false;
    }
}