public void OnActionExecuting(ActionExecutingContext context) { if (context == null) { throw new ArgumentNullException(nameof(context)); } if (context.HttpContext.Request == null) { return; } if (!context.HttpContext.Request.Method.Equals(WebRequestMethods.Http.Get, StringComparison.InvariantCultureIgnoreCase)) { return; } if (!DataAyarlarıYardımcısı.DatabaseYüklendi()) { return; } //update last activity date if (_workContext.MevcutKullanıcı.SonİşlemTarihi.AddMinutes(1.0) < DateTime.UtcNow) { _workContext.MevcutKullanıcı.SonİşlemTarihi = DateTime.UtcNow; _kullanıcıServisi.KullanıcıGüncelle(_workContext.MevcutKullanıcı); } }
public void OnActionExecuting(ActionExecutingContext context) { if (context == null) { throw new ArgumentNullException(nameof(context)); } if (context.HttpContext.Request == null) { return; } if (!context.HttpContext.Request.Method.Equals(WebRequestMethods.Http.Get, StringComparison.InvariantCultureIgnoreCase)) { return; } if (!DataAyarlarıYardımcısı.DatabaseYüklendi()) { return; } var currentIpAddress = _webHelper.MevcutIpAdresiAl(); if (string.IsNullOrEmpty(currentIpAddress)) { return; } if (!currentIpAddress.Equals(_workContext.MevcutKullanıcı.SonIPAdresi, StringComparison.InvariantCultureIgnoreCase)) { _workContext.MevcutKullanıcı.SonIPAdresi = currentIpAddress; _kullanıcıServisi.KullanıcıGüncelle(_workContext.MevcutKullanıcı); } }
public virtual KullanıcıGirişSonuçları KullanıcıDoğrula(string kullanıcıAdıVeyaEmail, string şifre) { var kullanıcı = _kullanıcıAyarları.KullanıcıAdlarıEtkin ? _kullanıcıServisi.KullanıcıAlKullanıcıAdı(kullanıcıAdıVeyaEmail) : _kullanıcıServisi.KullanıcıAlEmail(kullanıcıAdıVeyaEmail); if (kullanıcı == null) { return(KullanıcıGirişSonuçları.KullanıcıMevcutDeğil); } if (kullanıcı.Silindi) { return(KullanıcıGirişSonuçları.Silindi); } if (!kullanıcı.Aktif) { return(KullanıcıGirişSonuçları.AktifDeğil); } //sadece kayıtlı olanlar girebilir if (!kullanıcı.IsRegistered()) { return(KullanıcıGirişSonuçları.KayıtlıDeğil); } //check whether a kullanıcı is locked out if (kullanıcı.ŞuTarihdenBeriGirişYapamıyor.HasValue && kullanıcı.ŞuTarihdenBeriGirişYapamıyor.Value > DateTime.UtcNow) { return(KullanıcıGirişSonuçları.Kilitlendi); } if (!ŞifreUyuşturması(_kullanıcıServisi.MevcutŞifreAl(kullanıcı.Id), şifre)) { //yanlış şifre kullanıcı.HatalıGirişSayısı++; if (_kullanıcıAyarları.HatalıŞifreDenemesi > 0 && kullanıcı.HatalıGirişSayısı >= _kullanıcıAyarları.HatalıŞifreDenemesi) { //kilitle kullanıcı.ŞuTarihdenBeriGirişYapamıyor = DateTime.UtcNow.AddMinutes(_kullanıcıAyarları.HatalıŞifredeKilitDakikası); //sayacı sıfırla kullanıcı.HatalıGirişSayısı = 0; } _kullanıcıServisi.KullanıcıGüncelle(kullanıcı); return(KullanıcıGirişSonuçları.HatalıŞifre); } //giriş detaylarını güncelle kullanıcı.HatalıGirişSayısı = 0; kullanıcı.ŞuTarihdenBeriGirişYapamıyor = null; kullanıcı.GirişGerekli = false; kullanıcı.SonGirişTarihi = DateTime.UtcNow; _kullanıcıServisi.KullanıcıGüncelle(kullanıcı); return(KullanıcıGirişSonuçları.Başarılı); }
public virtual ActionResult Ekle(KullanıcıModel model, bool düzenlemeyeDevam, FormCollection form) { if (!_izinServisi.YetkiVer(StandartİzinSağlayıcı.KullanıcılarıYönet)) { return(ErişimEngellendiView()); } if (!String.IsNullOrWhiteSpace(model.Email)) { var user2 = _kullanıcıServisi.KullanıcıAlEmail(model.Email); if (user2 != null) { ModelState.AddModelError("", "Email zaten kayıtlı"); } } if (!String.IsNullOrWhiteSpace(model.KullanıcıAdı) & _kullanıcıAyarları.KullanıcıAdlarıEtkin) { var user2 = _kullanıcıServisi.KullanıcıAlKullanıcıAdı(model.KullanıcıAdı); if (user2 != null) { ModelState.AddModelError("", "Kullanıcı adı zaten alındı"); } } //kullanıcı rolü doğrula var tümKullanıcıRolleri = _kullanıcıServisi.TümKullanıcıRolleriniAl(true); var yeniKullanıcıRolleri = new List <KullanıcıRolü>(); foreach (var kullanıcıRolü in tümKullanıcıRolleri) { if (model.SeçiliKullanıcıRolIdleri.Contains(kullanıcıRolü.Id)) { yeniKullanıcıRolleri.Add(kullanıcıRolü); } } var kullanıcıRolüHatası = KullanıcıRolüDoğrula(yeniKullanıcıRolleri); if (!String.IsNullOrEmpty(kullanıcıRolüHatası)) { ModelState.AddModelError("", kullanıcıRolüHatası); HataBildirimi(kullanıcıRolüHatası, false); } //email adresini doğrula if (yeniKullanıcıRolleri.Any() && yeniKullanıcıRolleri.FirstOrDefault(c => c.SistemAdı == SistemKullanıcıRolAdları.Kayıtlı) != null && !GenelYardımcı.GeçerliMail(model.Email)) { ModelState.AddModelError("", "Müşterinin 'Kayıtlı' rolü olması için geçerli e-posta gereklidir."); HataBildirimi("Müşterinin 'Kayıtlı' rolü olması için geçerli e-posta gereklidir", false); } //özel kullanıcı özniteliği /* * var kullanıcıAttributesXml = ParseCustomCustomerAttributes(form); * if (newCustomerRoles.Any() && newCustomerRoles.FirstOrDefault(c => c.SystemName == SystemCustomerRoleNames.Registered) != null) * { * var kullanıcıAttributeWarnings = _kullanıcıAttributeParser.GetAttributeWarnings(kullanıcıAttributesXml); * foreach (var error in kullanıcıAttributeWarnings) * { * ModelState.AddModelError("", error); * } * } */ if (ModelState.IsValid) { var kullanıcı = new Kullanıcı { KullanıcıGuid = Guid.NewGuid(), Email = model.Email, KullanıcıAdı = model.KullanıcıAdı, AdminYorumu = model.AdminYorumu, Aktif = model.Aktif, ŞuTarihdeOluşturuldu = DateTime.UtcNow, SonİşlemTarihi = DateTime.UtcNow, KayıtOlduSiteId = _siteContext.MevcutSite.Id }; _kullanıcıServisi.KullanıcıEkle(kullanıcı); //form alanları if (_kullanıcıAyarları.CinsiyetEtkin) { _genelÖznitelikServisi.ÖznitelikKaydet(kullanıcı, SistemKullanıcıÖznitelikAdları.Cinsiyet, model.Cinsiyet); } _genelÖznitelikServisi.ÖznitelikKaydet(kullanıcı, SistemKullanıcıÖznitelikAdları.Adı, model.Adı); _genelÖznitelikServisi.ÖznitelikKaydet(kullanıcı, SistemKullanıcıÖznitelikAdları.Soyadı, model.Soyadı); if (_kullanıcıAyarları.DoğumTarihiEtkin) { _genelÖznitelikServisi.ÖznitelikKaydet(kullanıcı, SistemKullanıcıÖznitelikAdları.DoğumTarihi, model.DoğumGünü); } if (_kullanıcıAyarları.ŞirketEtkin) { _genelÖznitelikServisi.ÖznitelikKaydet(kullanıcı, SistemKullanıcıÖznitelikAdları.Şirket, model.Şirket); } if (_kullanıcıAyarları.SokakAdresiEtkin) { _genelÖznitelikServisi.ÖznitelikKaydet(kullanıcı, SistemKullanıcıÖznitelikAdları.SokakAdresi1, model.SokakAdresi); } if (_kullanıcıAyarları.SokakAdresi2Etkin) { _genelÖznitelikServisi.ÖznitelikKaydet(kullanıcı, SistemKullanıcıÖznitelikAdları.SokakAdresi2, model.SokakAdresi2); } if (_kullanıcıAyarları.PostaKoduEtkin) { _genelÖznitelikServisi.ÖznitelikKaydet(kullanıcı, SistemKullanıcıÖznitelikAdları.PostaKodu, model.PostaKodu); } if (_kullanıcıAyarları.ŞehirEtkin) { _genelÖznitelikServisi.ÖznitelikKaydet(kullanıcı, SistemKullanıcıÖznitelikAdları.Şehir, model.Şehir); } if (_kullanıcıAyarları.ÜlkeEtkin) { _genelÖznitelikServisi.ÖznitelikKaydet(kullanıcı, SistemKullanıcıÖznitelikAdları.ÜlkeId, model.ÜlkeId); } if (_kullanıcıAyarları.TelEtkin) { _genelÖznitelikServisi.ÖznitelikKaydet(kullanıcı, SistemKullanıcıÖznitelikAdları.Tel, model.Tel); } if (_kullanıcıAyarları.FaksEtkin) { _genelÖznitelikServisi.ÖznitelikKaydet(kullanıcı, SistemKullanıcıÖznitelikAdları.Fax, model.Faks); } //özel kullanıcı öznitelikleri //_genelÖznitelikServisi.ÖznitelikKaydet(kullanıcı, SistemKullanıcıÖznitelikAdları.ÖzelKullanıcıÖznitelikleri, kullanıcıÖznitelikXml); //abonelik kaydı if (!String.IsNullOrEmpty(kullanıcı.Email)) { var tümSiteler = _siteServisi.TümSiteler(); foreach (var site in tümSiteler) { var bültenAboneliği = _bültenAbonelikServisi .BültenAboneliğiAlEmailVeSiteId(kullanıcı.Email, site.Id); if (model.SeçiliAbonleikKayıtları != null && model.SeçiliAbonleikKayıtları.Contains(site.Id)) { //abone olundu if (bültenAboneliği == null) { _bültenAbonelikServisi.BültenAboneliğiEkle(new BültenAboneliği { BültenAboneliğiGuid = Guid.NewGuid(), Email = kullanıcı.Email, Aktif = true, SiteId = site.Id, OluşturulmaTarihi = DateTime.UtcNow }); } } else { //abone olunmadı if (bültenAboneliği != null) { _bültenAbonelikServisi.BültenAboneliğiSil(bültenAboneliği); } } } } //şifre if (!String.IsNullOrWhiteSpace(model.Şifre)) { var şifreİsteğiniDeğiştir = new ŞifreDeğiştirmeİsteği(model.Email, false, _kullanıcıAyarları.VarsayılanŞifreFormatı, model.Şifre); var şifreDeğiştiSonucu = _kullanıcıKayıtServisi.ŞifreDeğiştir(şifreİsteğiniDeğiştir); if (!şifreDeğiştiSonucu.Başarılı) { foreach (var şifreDeğiştirmeHatası in şifreDeğiştiSonucu.Hatalar) { HataBildirimi(şifreDeğiştirmeHatası); } } } //kullanıcı rolleri foreach (var kullanıcıRolü in yeniKullanıcıRolleri) { //Yönetici olmadığından emin ol if (kullanıcıRolü.SistemAdı == SistemKullanıcıRolAdları.Yönetici && !_workContext.MevcutKullanıcı.Yönetici()) { continue; } kullanıcı.KullanıcıRolleri.Add(kullanıcıRolü); } _kullanıcıServisi.KullanıcıGüncelle(kullanıcı); //işlem kaydı _kullanıcıİşlemServisi.İşlemEkle("YeniKullanıcı", "Yeni kullanıcı eklendi", kullanıcı.Id); BaşarılıBildirimi("Kullanıcı Eklendi"); if (düzenlemeyeDevam) { //seçili tab SeçiliTabKaydet(); return(RedirectToAction("Düzenli", new { id = kullanıcı.Id })); } return(RedirectToAction("Liste")); } //sorun olduysa form yeniden doldur KullanıcıModelHazırla(model, null, true); return(View(model)); }