示例#1
0
 /// <summary>
 /// CryptographyExtension.Cozumle
 /// </summary>
 public static string Cozumle(this object value)
 {
     if (value == null)
     {
         return("");
     }
     return(CryptographyExtension.Cozumle(value.ToString()));
 }
示例#2
0
        /// <summary>
        /// şifre değiştirme işlemleri
        /// </summary>
        public Result ChangePass(User p)
        {
            if (p.Sifre.ToString2() == "")
            {
                _Result.Id      = 0;
                _Result.Message = "Eksik Bilgi Girdiniz";
                _Result.Status  = false;
                return(_Result);
            }

            _Result = new Result()
            {
                Status  = false,
                Message = "İşlem Hata !!!",
                Id      = 0
            };
            p.Sifre = CryptographyExtension.Sifrele(p.Sifre);
            try
            {
                var tmp = Detail(p.ID);
                tmp.Sifre      = p.Sifre ?? "";
                tmp.Degistiren = vUser.UserName;
                tmp.DegisTarih = DateTime.Today.ToOADateInt();
                tmp.DegisSaat  = DateTime.Now.ToOaTime();
                db.SaveChanges();
                LogActions("Business", "Persons", "ChangePass", ComboItems.alDüzenle, p.ID);
                // result
                _Result.Id      = p.ID;
                _Result.Message = "İşlem Başarılı !!!";
                _Result.Status  = true;
            }
            catch (Exception ex)
            {
                Logger(ex, "Business/Persons/ChangePass");
                _Result.Message = "İşlem Hata !!!" + ex.Message;
            }

            return(_Result);
        }
示例#3
0
        /// <summary>
        /// 判断签名算法
        /// </summary>
        /// <param name="appId"></param>
        /// <param name="url"></param>
        /// <param name="sign">签名</param>
        /// <returns></returns>
        public static bool Validate(string appId, string sign)
        {
            byte[] bytes = Encoding.UTF8.GetBytes(ConfigManagerExtension.SecretKey);
            string signs = string.Empty;

            if (appId != "1000")
            {
                signs = CryptographyExtension.Decrypts(appId) + keys;
            }
            else
            {
                signs = appId + keys;
            }
            byte[] val = Encoding.UTF8.GetBytes(string.Concat(signs.OrderBy(c => c)));//排序
            string key = null;

            using (HMACSHA512 SecretKey = new HMACSHA512(bytes))
            {
                var SecretKeyBytes = SecretKey.ComputeHash(val);
                key = Convert.ToBase64String(SecretKeyBytes);
            }
            return(sign.Equals(key, StringComparison.Ordinal));
        }
示例#4
0
        /// <summary>
        /// giriş işlemleri
        /// </summary>
        public Result Login(User p, string device)
        {
            _Result = new Result()
            {
                Status  = false,
                Message = "Hatalı kombinasyon",
                Id      = 0
            };
            try
            {
                p.Kod = p.Kod.Left(5);
                var tbl = db.Users.FirstOrDefault(a => a.Kod.Equals(p.Kod) && a.Sirket == "" && a.Tip == 0 && a.Aktif);
                if (tbl != null)//if user exists
                {
                    var pass = CryptographyExtension.Cozumle(tbl.Sifre);
                    if (p.Sifre == pass)//if password matches
                    {
                        // update db
                        db.LogLogins(p.Kod, device, true, "");
                        db.UpdateUserDevice(tbl.ID, device);
                        // return result
                        _Result.Status  = true;
                        _Result.Id      = tbl.ID;
                        _Result.Message = "İşlem Başarılı";
                        _Result.Data    = tbl;
                    }
                }
            }
            catch (Exception ex)
            {
                Logger(ex, "Business/Persons/Login");
                _Result.Message = "İşlem Hata !!!" + ex.Message;
            }

            return(_Result);
        }
示例#5
0
        /// <summary>
        /// ekle, güncelle
        /// </summary>
        public override Result Operation(User tbl)
        {
            _Result = new Result(); var eklemi = false;
            if (tbl.AdSoyad == "" || tbl.Kod == "" || (tbl.ID == 0 && tbl.Sifre.ToString2() == ""))
            {
                _Result.Id      = 0;
                _Result.Message = "Eksik Bilgi Girdiniz";
                _Result.Status  = false;
                return(_Result);
            }

            if (fn.isEmail(tbl.Email) == false)
            {
                _Result.Id      = 0;
                _Result.Message = "Geçersiz bir email adresi yazdınız";
                _Result.Status  = false;
                return(_Result);
            }

            var kontrol = db.Users.FirstOrDefault(m => m.Kod == tbl.Kod && m.ID != tbl.ID);

            if (kontrol != null)
            {
                _Result.Id      = 0;
                _Result.Message = "Bu isim kullanılıyor";
                _Result.Status  = false;
                return(_Result);
            }

            if (tbl.Sifre.ToString2() != "")
            {
                tbl.Sifre = CryptographyExtension.Sifrele(tbl.Sifre);
            }
            tbl.Kod = tbl.Kod.Left(5);
            // set details
            tbl.Degistiren  = vUser.UserName;
            tbl.DegisTarih  = DateTime.Today.ToOADateInt();
            tbl.DegisSaat   = DateTime.Now.ToOaTime();
            tbl.DegisKaynak = 0;
            tbl.DegisSurum  = "1.0.0";
            if (tbl.ID == 0)
            {
                tbl.Guid        = Guid.NewGuid();
                tbl.Sirket      = "";
                tbl.Email       = tbl.Email.ToString2();
                tbl.Tema        = tbl.Tema.ToString2();
                tbl.Kaydeden    = vUser.UserName;
                tbl.KayitTarih  = DateTime.Today.ToOADateInt();
                tbl.KayitSaat   = DateTime.Now.ToOaTime();
                tbl.KayitKaynak = 0;
                tbl.KayitSurum  = "1.0.0";
                db.Users.Add(tbl);
                eklemi = true;
            }
            else
            {
                var tmp = Detail(tbl.ID);
                tmp.Sirket      = "";
                tmp.Tip         = 0;
                tmp.Kod         = tbl.Kod;
                tmp.AdSoyad     = tbl.AdSoyad;
                tmp.Email       = tbl.Email.ToString2();
                tmp.Tema        = tbl.Tema.ToString2();
                tmp.RoleName    = tbl.RoleName;
                tmp.Admin       = tbl.Admin;
                tmp.Aktif       = tbl.Aktif;
                tmp.Degistiren  = tbl.Degistiren;
                tmp.DegisTarih  = tbl.DegisTarih;
                tmp.DegisSaat   = tbl.DegisSaat;
                tmp.DegisKaynak = tbl.DegisKaynak;
                tmp.DegisSurum  = tbl.DegisSurum;
            }

            try
            {
                db.SaveChanges();
                LogActions("Business", "Persons", "Operation", eklemi ? ComboItems.alEkle : ComboItems.alDüzenle, tbl.ID, tbl.AdSoyad + ", " + tbl.Email + ", " + tbl.RoleName + ", " + tbl.Kod);
                // result
                _Result.Id      = tbl.ID;
                _Result.Message = "İşlem Başarılı !!!";
                _Result.Status  = true;
            }
            catch (Exception ex)
            {
                Logger(ex, "Business/Persons/Operation");
                _Result.Id      = 0;
                _Result.Message = "İşlem Hatalı: " + ex.Message;
                _Result.Status  = false;
            }

            return(_Result);
        }
示例#6
0
 /// <summary>
 /// şifre göster
 /// </summary>
 public string GetPass(int id)
 {
     return(CryptographyExtension.Cozumle(Detail(id).Sifre));
 }
示例#7
0
 /// <summary>
 /// CryptographyExtension.Sifrele
 /// </summary>
 public static string Sifrele(this object value)
 {
     return(CryptographyExtension.Sifrele(value.ToString()));
 }