.Net Session Provider İçin Redis Kullanma

2 Cevaplar

  1. Gökhan dedi ki:

    Merhaba, makale için çok teşekkürler. Bir sorum olacak. örneğin her kullanıcının tek bir yerde oturum açmasını istiyoruz diyelim. Başka bir bilgisayardan girdiğinde, diğer yerlerdeki oturumu kapamasını istiyoruz. Bunu redi ile nasıl gerçekleştirebiliriz? Ayrıca diyelim ki, sunucu kapandı, tekrar açıldı. Kullanıcı bilgileri redis’te saklanacak. Onların hepsini silme şansımız var mı? Yada, istediğimiz herhangi bir kullanıcıyı sildiğimiz zaman, session verisini silme şansımız var mı?

    • Murat ÖNER dedi ki:

      Merhaba Gökhan,

      Açıkçası Redis üzerinden böyle birşey kurgulamadım ama aklıma gelenleri açıklarsam belki yol gösterici olur Her kullanıcının tek bir yerden oturum açmasıyla ilgili 10100 id’li user üzerinden gidersek redis için 10100_IP_ADDRESS diye keyini ayarlayıp değerine giriş yapılan ip adresini girersen yine aynı kullanıcı giriş yaptığında redis’de 10100_IP_ADDRESS keyini kontrol edip değeri yeni giriş yapılan ip adresi ile aynı değilse yeni ip adresini keyin değerine set edersin ve custom olarak hazırladığın bir action filter’ı içinden ip adresini kontrol edersin eğer aynı kullanıcı diğer lokasyonlardan tekrar erişmeye çalışırsa ip adresi eşleşmediği için doğal olarak işlemleri yapılamayacak ve login ekranına yönlendirilmesini sağlayabilirsin.

      Diğer bir sorun olan redis üzerindeki tüm verileri silmek için ise bilgisayar açılışında C:\Program Files\Redis dizininde yer alan redis-cli komut satırı aracı üzerinden redis-cli KEYS * komutunu çalıştırırsanız redis’deki tüm keyleri alırsınız ve bu keyleri foreach v.b. döngüler ile DEL keyadı komutu ile redis kayıtlarını silebilirsiniz. Umarım faydalı olmuştur bu bilgiler.

Bir Cevap Yazın