protected bool ŞifreUyuşturması(KullanıcıŞifre kullanıcıŞifre, string girilenŞifre) { if (kullanıcıŞifre == null || string.IsNullOrEmpty(girilenŞifre)) { return(false); } var kaydedilenŞifre = string.Empty; switch (kullanıcıŞifre.ŞifreFormatı) { case ŞifreFormatı.Temiz: kaydedilenŞifre = girilenŞifre; break; case ŞifreFormatı.Encrypted: kaydedilenŞifre = _şifrelemeServisi.TextŞifrele(girilenŞifre); break; case ŞifreFormatı.Hashed: kaydedilenŞifre = _şifrelemeServisi.ŞifreHashOluştur(girilenŞifre, kullanıcıŞifre.ŞifreSalt, _kullanıcıAyarları.HashŞifreFormatı); break; } return(kullanıcıŞifre.Şifre.Equals(kaydedilenŞifre)); }
public virtual void KullanıcıŞifresiGüncelle(KullanıcıŞifre kullanıcıŞifresi) { if (kullanıcıŞifresi == null) { throw new ArgumentNullException("kullanıcıŞifresi"); } _kulanıcıŞifreDepo.Güncelle(kullanıcıŞifresi); //olay bildirimi _olayYayınlayıcı.OlayGüncellendi(kullanıcıŞifresi); }
public virtual KullanıcıKayıtSonuçları KullanıcıKaydet(KullanıcıKayıtİsteği istek) { if (istek == null) { throw new ArgumentNullException("istek"); } if (istek.Kullanıcı == null) { throw new ArgumentException("Mevcut kullanıcı yüklenemedi"); } var sonuç = new KullanıcıKayıtSonuçları(); if (istek.Kullanıcı.AramaMotoruHesabı()) { sonuç.HataEkle("Arama motoru kaydedilemedi"); return(sonuç); } if (istek.Kullanıcı.ArkaPlanGöreviHesabı()) { sonuç.HataEkle("Arka plan görevi hesabı kaydedilemedi"); return(sonuç); } if (istek.Kullanıcı.IsRegistered()) { sonuç.HataEkle("Mevcut kullanıcı zaten kayıtlı"); return(sonuç); } if (String.IsNullOrEmpty(istek.Email)) { sonuç.HataEkle("E-mail sağlanamadı"); return(sonuç); } if (!GenelYardımcı.GeçerliMail(istek.Email)) { sonuç.HataEkle("Hatalı E-mail"); return(sonuç); } if (String.IsNullOrWhiteSpace(istek.Şifre)) { sonuç.HataEkle("Şifre sağlanamadı"); return(sonuç); } if (_kullanıcıAyarları.KullanıcıAdlarıEtkin) { if (String.IsNullOrEmpty(istek.KullanıcıAdı)) { sonuç.HataEkle("Kullanıcı adı sağlanamadı"); return(sonuç); } } //benzersiz kullanıcıyı doğrulama if (_kullanıcıServisi.KullanıcıAlEmail(istek.Email) != null) { sonuç.HataEkle("E-Mail adresi zaten mevcut"); return(sonuç); } if (_kullanıcıAyarları.KullanıcıAdlarıEtkin) { if (_kullanıcıServisi.KullanıcıAlKullanıcıAdı(istek.KullanıcıAdı) != null) { sonuç.HataEkle("Kullanıcı adı zaten mevcut"); return(sonuç); } } //buradan sonra istek doğrulandı istek.Kullanıcı.KullanıcıAdı = istek.KullanıcıAdı; istek.Kullanıcı.Email = istek.Email; var kullanıcıŞifre = new KullanıcıŞifre { Kullanıcı = istek.Kullanıcı, ŞifreFormatı = istek.ŞifreFormatı, OluşturulmaTarihi = DateTime.UtcNow }; switch (istek.ŞifreFormatı) { case ŞifreFormatı.Temiz: kullanıcıŞifre.Şifre = istek.Şifre; break; case ŞifreFormatı.Encrypted: kullanıcıŞifre.Şifre = _şifrelemeServisi.TextŞifrele(istek.Şifre); break; case ŞifreFormatı.Hashed: { var saltKey = _şifrelemeServisi.SaltAnahtarıOluştur(5); kullanıcıŞifre.ŞifreSalt = saltKey; kullanıcıŞifre.Şifre = _şifrelemeServisi.ŞifreHashOluştur(istek.Şifre, saltKey, _kullanıcıAyarları.HashŞifreFormatı); } break; } _kullanıcıServisi.KullanıcıŞifresiEkle(kullanıcıŞifre); istek.Kullanıcı.Aktif = istek.Onaylandı; //kayıtlı rol ekle var kayıtlıRol = _kullanıcıServisi.KullanıcıRolüAlSistemAdı(SistemKullanıcıRolAdları.Kayıtlı); if (kayıtlıRol == null) { throw new TSHata("Kayıtlı rolü eklenemedi"); } istek.Kullanıcı.KullanıcıRolleri.Add(kayıtlıRol); //ziyaretçi rolünü sil var ziyaretçiRolü = istek.Kullanıcı.KullanıcıRolleri.FirstOrDefault(cr => cr.SistemAdı == SistemKullanıcıRolAdları.Ziyaretçi); if (ziyaretçiRolü != null) { istek.Kullanıcı.KullanıcıRolleri.Remove(ziyaretçiRolü); } //Add reward points for kullanıcı registration (if enabled) // // _kullanıcıServisi.KullanıcıGüncelle(istek.Kullanıcı); //publish event _olayYayınlayıcı.Yayınla(new KullanıcıŞifreDeğiştirdiOlayı(kullanıcıŞifre)); return(sonuç); }
public virtual ŞifreDeğiştirmeSonuçları ŞifreDeğiştir(ŞifreDeğiştirmeİsteği istek) { if (istek == null) { throw new ArgumentNullException("istek"); } var sonuç = new ŞifreDeğiştirmeSonuçları(); if (String.IsNullOrWhiteSpace(istek.Email)) { sonuç.HataEkle("E-Mail sağlanmadı"); return(sonuç); } if (String.IsNullOrWhiteSpace(istek.YeniŞifre)) { sonuç.HataEkle("Şifre sağlanmadı"); return(sonuç); } var kullanıcı = _kullanıcıServisi.KullanıcıAlEmail(istek.Email); if (kullanıcı == null) { sonuç.HataEkle("E-Mail bulunamadı"); return(sonuç); } if (istek.İsteğiDoğrula) { //istek geçerli değilse if (!ŞifreUyuşturması(_kullanıcıServisi.MevcutŞifreAl(kullanıcı.Id), istek.EskiŞifre)) { sonuç.HataEkle("Şifreler uyuşmuyor"); return(sonuç); } } /* * //kopyalama kontrol et * if (_kullanıcıAyarları.YinelenmemişŞifreSayısı > 0) * { * //get some of previous passwords * var öncekiŞifre = _kullanıcıServisi.KullanıcıŞifreleriAl(kullanıcı.Id, geriDönenŞifreler: _kullanıcıAyarları.YinelenmemişŞifreSayısı); * * var yeniŞifreÖncekiİleEşleşiyor = öncekiŞifre.Any(password => ŞifreUyuşturması(password, istek.YeniŞifre)); * if (yeniŞifreÖncekiİleEşleşiyor) * { * sonuç.HataEkle("Yeni şifre bir önceki ile aynı"); * return sonuç; * } * } */ //buradan sonra istek doğrulandı var kullanıcıŞifre = new KullanıcıŞifre { Kullanıcı = kullanıcı, ŞifreFormatı = istek.YeniŞifreFormatı, OluşturulmaTarihi = DateTime.UtcNow }; switch (istek.YeniŞifreFormatı) { case ŞifreFormatı.Temiz: kullanıcıŞifre.Şifre = istek.YeniŞifre; break; case ŞifreFormatı.Encrypted: kullanıcıŞifre.Şifre = _şifrelemeServisi.TextŞifrele(istek.YeniŞifre); break; case ŞifreFormatı.Hashed: { var saltKey = _şifrelemeServisi.SaltAnahtarıOluştur(5); kullanıcıŞifre.ŞifreSalt = saltKey; kullanıcıŞifre.Şifre = _şifrelemeServisi.ŞifreHashOluştur(istek.YeniŞifre, saltKey, _kullanıcıAyarları.HashŞifreFormatı); } break; } _kullanıcıServisi.KullanıcıŞifresiEkle(kullanıcıŞifre); //olay yayınla _olayYayınlayıcı.Yayınla(new KullanıcıŞifreDeğiştirdiOlayı(kullanıcıŞifre)); return(sonuç); }
public KullanıcıŞifreDeğiştirdiOlayı(KullanıcıŞifre şifre) { this.Şifre = şifre; }