Başka bir uygulamada oturum değişkenleri yok

5 Cevap php

Ben iki uygulama var, bir başka backend biridir, ön uç uygulamasıdır.

Her uygulama aynı kullanıcı veritabanı kendi kopyası vardır. Bir kullanıcı ön uç uygulama içine açtığında, ben de aynı anda arka uç uygulama tarafından sağlanan web hizmetlerini kullanarak arka uç uygulaması int oturum olacaktır.

Şimdi soru bana ön uç uygulaması arka uç oturumu yok etmek mümkün olduğunu? Backend tüm oturum bilgilerini depolamak için $ _SESSION süper global dizi kullanır. Evetse, nasıl?

5 Cevap

Evet öyle.

Ben ön ve arka için aynı oturum kimliği adını kullandığınızdan emin asume. Ben varsayılan PHP_SESSID olduğunu düşünüyorum. Bu durumda ise, o zaman tüm oturum bilgilerini bir yerde depolanır olacaktır.

Ben de farklı ise, web tarayıcıların farklı alanları arasındaki oturumu bilgi paylaşımı olmayacak gibi, o zaman işe alışkanlık .. ön ve arka sonu alanı teh aynı olduğunu asuming ediyorum.

Eğer ön ve arka uç için farklı oturum kimliği adlar kullanırsanız, o zaman zor almak zorunda olacak. (Her ikisi için oturum kimliği isteği veri olacak, sadece iki oturumları kadar yük ve ikisini de yok etmek olacaktır.)

kullanın:

session_destroy();

Sen veritabanından oturum kaydını veya (sisteminizin konfigürasyonuna bağlı olarak) dosyasını silmeniz gerekir.

Sistem büyük olasılıkla varsayılan bir dosya tabanlı oturumu kullanmak ve session_save_path kullanarak dizini belirleyebilirsiniz. Bu dosya sistemi üzerinde bir veritabanı yerine depolanan oturumları kullanmak kesinlikle çok daha kolay.

Eğer bir kullanıcı oturum için arka uç uygulamasına maruz web hizmetini kullanabilirsiniz varsa, neden siz de, kullanıcı OUT oturum için kullanamıyorum? Bu şekilde bir uygulama bilmek zorunda değil nasıl diğer uygular oturumları (veya orada muck civarında privliedges var).

Bu mümkün değilse, siz acrosman anlaşılacağı gibi yapmak zorunda ve oturum dosyaları veya veritabanına kazacağım.

how are you relating the front-end sessions, to back-end sessions? if you keep a mapping the session name (unique value used as session ID) of the front-end and back-end sessions, then you can easily find the back-end session (it can be saved on files, or database) and then delete the session record. use this line to find out what handler is being used to store session files:

$handler = init_get('session.save_handler');

Eğer oturum dosyaları nerede depolandığını bulmak için bu satırı kullanabilirsiniz:

 $path = ini_get('session.save_path');

sonra oturum dosyası veya veritabanı kaydı silebilirsiniz.

Ayrıca arka-uç oturumları yok etmek için bir web hizmeti yöntem oluşturmak, ve sonra ön ucundan onu aramak olabilir.

Iki uygulama aynı etki farklı alt etki alanları içinde iseniz, kullanıcı oturumunun yönetici uygulama talimatını çerez kaydetmek olabilir. Sonra yönetici uygulamanın kendisi oturum kaldırmak ve "out oturum" çerez var.