Example #1
0
 public virtual bool KullanıcıSayfaSilebilir(Kullanıcı kullanıcı, ForumSayfası sayfa)
 {
     if (sayfa == null)
     {
         return(false);
     }
     if (kullanıcı == null)
     {
         return(false);
     }
     if (kullanıcı.IsGuest())
     {
         return(false);
     }
     if (Kayıtlı(kullanıcı))
     {
         return(true);
     }
     if (_forumAyarları.KullanıcılarınGirdiSilmesiEtkin)
     {
         bool ownTopic = kullanıcı.Id == sayfa.KullanıcıId;
         return(ownTopic);
     }
     return(false);
 }
Example #2
0
 public virtual bool KullanıcıSayfaGirdisiSilebilir(Kullanıcı kullanıcı, ForumGirdisi post)
 {
     if (post == null)
     {
         return(false);
     }
     if (kullanıcı == null)
     {
         return(false);
     }
     if (kullanıcı.IsGuest())
     {
         return(false);
     }
     if (Kayıtlı(kullanıcı))
     {
         return(true);
     }
     if (_forumAyarları.KullanıcılarınGirdiSilmesiEtkin)
     {
         bool ownPost = kullanıcı.Id == post.KullanıcıId;
         return(ownPost);
     }
     return(false);
 }
Example #3
0
 public virtual bool KullanıcıSayfaDüzenleyebilir(Kullanıcı kullanıcı, ForumSayfası sayfa)
 {
     if (sayfa == null)
     {
         return(false);
     }
     if (kullanıcı == null)
     {
         return(false);
     }
     if (kullanıcı.IsGuest())
     {
         return(false);
     }
     if (Kayıtlı(kullanıcı))
     {
         return(true);
     }
     if (_forumAyarları.KullanıcılarınGirdiDüzenlemesiEtkin)
     {
         bool sayfaSahibi = kullanıcı.Id == sayfa.KullanıcıId;
         return(sayfaSahibi);
     }
     return(false);
 }
Example #4
0
 public virtual bool KullanıcıAboneOlabilir(Kullanıcı kullanıcı)
 {
     if (kullanıcı == null)
     {
         return(false);
     }
     if (kullanıcı.IsGuest())
     {
         return(false);
     }
     return(true);
 }
Example #5
0
 public virtual bool KullanıcıSayfaÖnceliğiDüzenleyebilir(Kullanıcı kullanıcı)
 {
     if (kullanıcı == null)
     {
         return(false);
     }
     if (kullanıcı.IsGuest())
     {
         return(false);
     }
     if (Kayıtlı(kullanıcı))
     {
         return(true);
     }
     return(false);
 }
Example #6
0
 public virtual bool KullanıcıSayfaGirdisiOluşturabilir(Kullanıcı kullanıcı, ForumSayfası sayfa)
 {
     if (sayfa == null)
     {
         return(false);
     }
     if (kullanıcı == null)
     {
         return(false);
     }
     if (kullanıcı.IsGuest() && !_forumAyarları.ZiyaretçilerinGirdiEklemesiEtkin)
     {
         return(false);
     }
     return(true);
 }
        public static bool ParolaSüresiDoldu(this Kullanıcı kullanıcı)
        {
            if (kullanıcı == null)
            {
                throw new ArgumentNullException("kullanıcı");
            }

            //Ziyaretçilerin şifresi yok
            if (kullanıcı.IsGuest())
            {
                return(false);
            }

            //kullanıcılar için şifre ömrü devre dışı
            if (!kullanıcı.KullanıcıRolleri.Any(role => role.Aktif && role.ParolaÖmrünüEtkinleştir))
            {
                return(false);
            }

            //ayar tamamı için devre dışı bırakıldı
            var kullanıcıAyarları = EngineContext.Current.Resolve <KullanıcıAyarları>();

            if (kullanıcıAyarları.ŞifreÖmrü == 0)
            {
                return(false);
            }

            //HTTP istekleri arasındaki önbellek sonuçları
            var önbellekYönetici = EngineContext.Current.ContainerManager.Resolve <IÖnbellekYönetici>("ts_cache_static");
            var önbellekKey      = string.Format(KullanıcıÖnbellekOlayTüketici.KULLANICI_ŞİFRE_ÖMRÜ, kullanıcı.Id);
            //geçerli şifrenin kullanım zamanını al
            var mevcutÖmür = önbellekYönetici.Al(önbellekKey, () =>
            {
                var kullanıcıŞifresi = EngineContext.Current.Resolve <IKullanıcıServisi>().MevcutŞifreAl(kullanıcı.Id);
                //Şifre bulunamadı, bu nedenle kullanıcıların şifre değiştirmesini zorlamak için maksimum değeri döndür
                if (kullanıcıŞifresi == null)
                {
                    return(int.MaxValue);
                }

                return((DateTime.UtcNow - kullanıcıŞifresi.OluşturulmaTarihi).Days);
            });

            return(mevcutÖmür >= kullanıcıAyarları.ŞifreÖmrü);
        }
        public static bool ParolaSüresiDoldu(this Kullanıcı kullanıcı)
        {
            if (kullanıcı == null)
            {
                throw new ArgumentNullException("kullanıcı");
            }

            //Ziyaretçilerin şifresi yok
            if (kullanıcı.IsGuest())
            {
                return(false);
            }

            //kullanıcılar için şifre ömrü devre dışı
            if (!kullanıcı.KullanıcıRolleri.Any(role => role.Aktif && role.ParolaÖmrünüEtkinleştir))
            {
                return(false);
            }

            //ayar tamamı için devre dışı bırakıldı
            var kullanıcıAyarları = EngineContext.Current.Resolve <KullanıcıAyarları>();

            if (kullanıcıAyarları.ŞifreÖmrü == 0)
            {
                return(false);
            }

            //var geneatedDate = Convert.ToDateTime((DateTime.Now.Year - 1));
            var geneatedDate = kullanıcı.ÖznitelikAl <DateTime?>(SistemKullanıcıÖznitelikAdları.ParolaKurtarmaTokenOluşturulmaTarihi);

            if (!geneatedDate.HasValue)
            {
                return(false);
            }

            var daysPassed = (DateTime.UtcNow - geneatedDate.Value).TotalDays;

            if (daysPassed > kullanıcıAyarları.ŞifreÖmrü)
            {
                return(true);
            }

            return(false);
        }
        public static string KullanıcıAdıFormatı(this Kullanıcı kullanıcı, bool şeritÇokUzun = false, int maksUzunluk = 0)
        {
            if (kullanıcı == null)
            {
                return(string.Empty);
            }

            if (kullanıcı.IsGuest())
            {
                //return EngineContext.Current.Resolve<ILocalizationService>().GetResource("Kullanıcı.Guest");
            }

            string sonuç = string.Empty;

            switch (EngineContext.Current.Resolve <KullanıcıAyarları>().KullanıcıAdıFormatı)
            {
            case Core.Domain.Kullanıcılar.KullanıcıAdıFormatı.EmailGöster:
                sonuç = kullanıcı.Email;
                break;

            case Core.Domain.Kullanıcılar.KullanıcıAdıFormatı.KullanıcıAdıGöster:
                sonuç = kullanıcı.KullanıcıAdı;
                break;

            case Core.Domain.Kullanıcılar.KullanıcıAdıFormatı.TamAdıGöster:
                sonuç = kullanıcı.TamAdAl();
                break;

            case Core.Domain.Kullanıcılar.KullanıcıAdıFormatı.SadeceAdıGöster:
                sonuç = kullanıcı.ÖznitelikAl <string>(SistemKullanıcıÖznitelikAdları.Adı);
                break;

            default:
                break;
            }

            if (şeritÇokUzun && maksUzunluk > 0)
            {
                sonuç = GenelYardımcı.MaksimumUzunlukKontrol(sonuç, maksUzunluk);
            }

            return(sonuç);
        }
Example #10
0
 public virtual bool KullanıcıSayfaTaşıyabilir(Kullanıcı kullanıcı, ForumSayfası sayfa)
 {
     if (sayfa == null)
     {
         return(false);
     }
     if (kullanıcı == null)
     {
         return(false);
     }
     if (kullanıcı.IsGuest())
     {
         return(false);
     }
     if (Kayıtlı(kullanıcı))
     {
         return(true);
     }
     return(false);
 }
Example #11
0
 public virtual bool KullanıcıSayfaOluşturabilir(Kullanıcı kullanıcı, Forum forum)
 {
     if (forum == null)
     {
         return(false);
     }
     if (kullanıcı == null)
     {
         return(false);
     }
     if (kullanıcı.IsGuest() && !_forumAyarları.ZiyaretçilerinSayfaEklemesiEtkin)
     {
         return(false);
     }
     if (Kayıtlı(kullanıcı))
     {
         return(true);
     }
     return(true);
 }
        public static bool ŞifreKurtarmaLinkiSüresiDoldu(this Kullanıcı kullanıcı)
        {
            if (kullanıcı == null)
            {
                throw new ArgumentNullException(nameof(kullanıcı));
            }

            if (kullanıcı.IsGuest())
            {
                return(false);
            }

            if (!kullanıcı.KullanıcıRolleri.Any(role => role.Aktif && role.ParolaÖmrünüEtkinleştir))
            {
                return(false);
            }

            var kullanıcıAyarları = EngineContext.Current.Resolve <KullanıcıAyarları>();

            if (kullanıcıAyarları.ŞifreÖmrü == 0)
            {
                return(false);
            }

            var cacheManager = EngineContext.Current.Resolve <IStatikÖnbellekYönetici>();
            var cacheKey     = string.Format(KullanıcıÖnbellekOlayTüketici.KULLANICI_ŞİFRE_ÖMRÜ, kullanıcı.Id);

            //get current password usage time
            var currentLifetime = cacheManager.Al(cacheKey, () =>
            {
                var customerPassword = EngineContext.Current.Resolve <IKullanıcıServisi>().MevcutŞifreAl(kullanıcı.Id);
                if (customerPassword == null)
                {
                    return(int.MaxValue);
                }

                return((DateTime.UtcNow - customerPassword.OluşturulmaTarihi).Days);
            });

            return(currentLifetime >= kullanıcıAyarları.ŞifreÖmrü);
        }