Şimdi Ara

MVC Session Sorunu

Bu Konudaki Kullanıcılar:
2 Misafir - 2 Masaüstü
5 sn
3
Cevap
0
Favori
386
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Merhaba arkadaşlar. Üzerinde çalıştığım projenin admin panelinde kafama takılan bir sorun oldu.
    Sisteme giriş yapıldığında kullanıcı bilgilerini Session'da tutuyorum. Cookie'de de kullanıcı adı ve secretkey tutuyorum. Session_Start'ta cookiedeki bilgileri veritabanindakilerle karşılaştırıp dogruysa Session'a atıyor.

    Şimdi sistemde admin, kendi hesabını güncellediği zaman logout'a yönlendirip session.abandon yapıyorum ve cookieleri siliyorum burada problem yok. Peki o sırada online olan bir kullanıcının bilgilerini değiştirdiğimde o kullanıcının oturumunun kapanması için nasıl bir yol izlemeliyim?

    Nerede kontrol yapmalıyım ki kullanıcı oturumu düşsün.



    < Bu mesaj bu kişi tarafından değiştirildi alpmirza -- 4 Mayıs 2017; 16:19:24 >



  • hiç denemedim lakin
    Her sesion un kendine ait bir ID değeri var. o değer ile x bir session silinebilmesi lazım sonucta stateless bir yapı.

    Session.Remove(tempCompID);

    https://www.codeproject.com/Questions/414197/Problem-in-remove-Session-using-session-id

    birde tavsiyem auth yapıları kullanırken custom kendi yapınızı değilde .net in kendi identity frameworkunu kullanmanızı gerekise özelleştirmenizi tavsiye ederim. Cünkü x bir developer ın custom auth anlaması standart bir kodu anlamasından daha zor.
  • mahoni_38 kullanıcısına yanıt
    Öncelikle cevabınız için teşekkür ederim.
    Ne kadar güvenli veya sağlıklı oldu bilmiyorum fakat şöyle bir şey denedim.

    public static List<Member> oturumuKapatilacaklar list i olusturdum. Sistemde bir kullanıcının bilgisi değiştiğinde kullanıcıya ait Member tipinde nesne list e ekleniyor.
    Daha evvelden AdminAuthorizeAttribute oluşturmuştum rol mekanizması için.Controller classlarımın başına yazıp bu şekilde rol kontrolü yapıyordum.
    OnActionExecuting metodunu override edip Session dolu mu boş mu kontrol ediyordu, doluysa yetkiye bakıyordu vs. Bunun hemen içine en alta foreach döngüsü açıp oturumuKapatilacaklar'da döndüm metodu tetikleten Member ile oturumuKapatilacaklar'da yer alan Member aynıysa Logout'a yönlendirdim. Ve Member nesnesini oturumuKapatilacaklar 'dan kaldırdım.

    Şu an işimi görüyor ancak sağlıklı olmadığı kanaatindeyim. İlk etapta aradığım sizin yazdığınız şeydi aslında.Sonuçta sunucudaki diğer sessionlara da erişebilmem gerek diye düşünüyorum . Oluşturduğum bu yapı fazla mı acemi işi acaba? Gönderdiğiniz linkte biri cevap yazmış 3 madde olarak. 3.madde de Application["LoggedUsers"] kullanımından bahsetmiş bu şekilde bir yapı mı kurmalıyım?



    < Bu mesaj bu kişi tarafından değiştirildi alpmirza -- 4 Mayıs 2017; 17:34:21 >




  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.