예제 #1
0
        public ActionResult ChangePassword(FrmChangePassword vm)
        {
            rs r = _userServ.ChangePassword(vm.ID, vm.MatKhauCu, vm.MatKhauMoi);

            TempData["message"] = r.m;
            return(View(vm));
        }
예제 #2
0
        private string[] _usersSplit = new string[0]; //mảng người dùng


        protected override bool IsAuthorized(HttpActionContext actionContext)
        {
            try
            {
                if (actionContext.Request.Headers.GetValues("jwt") != null)
                {
                    // get value from header
                    string authenticationToken = Convert.ToString(
                        actionContext.Request.Headers.GetValues("jwt").FirstOrDefault());
                    //authenticationTokenPersistant
                    // it is saved in some data store
                    // i will compare the authenticationToken sent by client with
                    // authenticationToken persist in database against specific user, and act accordingly


                    rs rsdecode = EncodeDecodeJWT.Decode(authenticationToken);
                    return(rsdecode.r && rsdecode.v != null);
                }
                return(false);
            }
            catch
            {
                return(false);
            }
        }
예제 #3
0
        public rs dang_nhap(DangNhapForm vm)
        {
            //var jwt = this.Request.Headers.GetValues("jwt").FirstOrDefault();


            rs r;

            rs logr = _userServ.Login(vm.CMND, vm.MatKhau, true, true);

            if (logr.r)
            {
                loginVM  user  = (loginVM)logr.v;
                DateTime exp   = DateTime.UtcNow.AddMonths(1);
                var      token = EncodeDecodeJWT.Encode(new Dictionary <string, object>
                {
                    { "uid", user.ID },
                    { "exp", exp.toJWTString() }
                });
                //đăng nhập thành công trả về token
                r = rs.T(logr.m, UserClient.map(user, token));
            }
            else
            {
                //tài khoản mật khẩu không chính xác
                r = rs.F(logr.m);
            }
            return(r);
        }
예제 #4
0
        public JsonResult ajax_edit_dathang(TaoDonHangVM model)
        {
            rs r = rs.T("Ok");

            using (var tx = new TransactionScope())
            {
                try
                {
                    var donhang = __db.DonHangs.Find(model.DonHangId);
                    donhang.Ban                  = model.Ban;
                    donhang.GhiChuDonHang        = model.GhiChu;
                    donhang.TrangThaiGiaoHangId  = model.TrangThaiGiaoHangId;
                    donhang.TrangThaiThanhToanId = model.TrangThaiThanhToanId;
                    donhang.HinhThucMuaHangId    = model.HinhThucMuaHangId;
                    donhang.ModifiedDate         = DateTime.Now;
                    donhang.TongTienHang         = model.GioHang.Sum(s => (int?)(s.Price * s.SoLuong)) ?? 0;

                    donhang.SDT            = model.SDT;
                    donhang.YeuCauKhac     = model.YeuCauKhac;
                    donhang.DiaChiGiaoHang = model.DiaChiGiaoHang;

                    __db.SaveChanges();
                    // Delete children
                    var itemsToDelete = __db.CTDonHangs.Where(x => x.DonHangID == model.DonHangId);
                    __db.CTDonHangs.RemoveRange(itemsToDelete);
                    __db.SaveChanges();

                    List <CTDonHang> lst = new List <CTDonHang>();
                    foreach (var item in model.GioHang)
                    {
                        lst.Add(new CTDonHang()
                        {
                            DonGia    = item.Price,
                            SoLuong   = item.SoLuong,
                            ThucDonId = item.ThucDonId,
                            SanPhamId = item.ProductId,
                            ThanhTien = item.ThanhTien,
                            DonHangID = model.DonHangId,
                            GiaId     = item.GiaId,
                            TenGia    = item.TenGia,
                        });
                    }
                    __db.CTDonHangs.AddRange(lst);
                    __db.SaveChanges();
                    r = rs.T("Cập nhật đơn hàng thành công!");
                    tx.Complete();
                }
                catch (Exception ex)
                {
                    r = rs.F("Lỗi: " + ex.Message);
                }
            }
            return(Json(r, JsonRequestBehavior.DenyGet));
        }
예제 #5
0
    // Use this for initialization
    void Start()
    {
        anim = GetComponent <Animator>();

        cameraHeight = Camera.main.orthographicSize;
        cameraWidth  = cameraHeight * Screen.width / Screen.height;

        widthPlayer  = (GetComponent <SpriteRenderer>().bounds.size.x) / 2;
        heightPlayer = (GetComponent <SpriteRenderer>().bounds.size.y) / 2;

        UnityWebRequest ww = UnityWebRequest.Get("http://demo.wp-api.org/wp-json/wp/v2/posts");
        rs t = JsonUtility.FromJson <rs>(ww.downloadHandler.text);

        Debug.Log(ww.downloadHandler.text);
    }
예제 #6
0
        protected override void Initialize(System.Web.Routing.RequestContext requestContext)
        {
            loginVM logvm = MySsAuthUsers.GetAuth();

            if (logvm == null)
            {
                var jsonnn = myCookies.Get("auth");
                if (!string.IsNullOrWhiteSpace(jsonnn))
                {
                    try
                    {
                        rs rsdecode = EncodeDecodeJWT.Decode(jsonnn);
                        if (rsdecode.r && rsdecode.v != null)
                        {
                            JwtLoginModel user_cook = (JwtLoginModel)rsdecode.v;
                            var           log       = _userServ.GetEntry(user_cook.uid);
                            var           quanids   = log.UserQuans.Select(s => s.QuanID).ToList();
                            if (log.QuanDefaultId == null)
                            {
                                requestContext.HttpContext.Response.Clear();
                                requestContext.HttpContext.Response.Redirect(Url.Action("ChonQuan", "Quan", new{ area = "Admin" }));
                                requestContext.HttpContext.Response.End();
                            }
                            logvm = new loginVM(log);
                            MySsAuthUsers.setLogin(logvm);
                        }
                    }
                    catch (Exception ex)
                    {
                        //_userServ.SSLogOut();
                    }
                }
            }

            __langid  = myCookies.GetLangKey();
            __setting = _settingServ.GetSetting();
            __config  = _confServ.GetConfigCache();
            HitCounter();
            ViewBag.__config  = __config;
            ViewBag.__setting = __setting;
            VIEWSETTING __viewsetting = new VIEWSETTING();

            __viewsetting.__config  = __config;
            __viewsetting.__setting = __setting;
            __viewsetting.__login   = MySsAuthUsers.GetAuth();
            ViewBag.__viewsetting   = __viewsetting; //VIEWSETTING __vs = ViewBag.__viewsetting;
            base.Initialize(requestContext);
        }
예제 #7
0
        public rs totalValidationHuyet(String testStr)
        {
            rs rs = rs.T("Ok");

            if (!isValidHuyet(testStr))
            {
                rs = rs.F("Huyệt chứa những ký tự không hợp lệ");
            }
            if (!isValidHuyet2(testStr))
            {
                rs = rs.F("Số lượng huyệt 3-50");
            }
            if (!isValidHuyet3(testStr))
            {
                rs = rs.F("Huyệt không đúng");
            }

            return(isValidDSHuyet(testStr)); //validation su hop le
        }
예제 #8
0
            public static rs Check(HttpRequestMessage Request)
            {
                var headers = Request.Headers;

                if (headers.Contains("jwt"))
                {
                    string token    = headers.GetValues("jwt").First();
                    rs     rsdecode = EncodeDecodeJWT.Decode(token);
                    if (rsdecode.r && rsdecode.v != null)
                    {
                        return(rs.T("Đã đăng nhập", token));
                    }
                    return(rs.F("Vui lòng đăng nhập #1"));
                }
                else
                {
                    return(rs.F("Vui lòng đăng nhập #2"));
                }
            }
예제 #9
0
        public JsonResult ajax_dathang(TaoDonHangVM model)
        {
            var __auth = MySsAuthUsers.GetAuth();
            rs  r      = rs.T("Ok");

            try
            {
                var     __user = __db.Users.Find(__auth.ID);
                DonHang dh     = new DonHang();
                dh.GhiChuDonHang = model.GhiChu;
                //dh.BanId = model.BanId != -1 ? model.BanId : null;
                dh.QuanId = model.QuanId;
                dh.TrangThaiGiaoHangId  = model.TrangThaiGiaoHangId;
                dh.TrangThaiThanhToanId = model.TrangThaiThanhToanId;
                dh.UserId       = __auth.ID;
                dh.BaseUserId   = __user.OwnerId != null?__user.OwnerId.Value:__auth.ID;
                dh.CTDonHangs   = new Collection <CTDonHang>();
                dh.TongTienHang = model.GioHang.Sum(s => s.Price * s.SoLuong);

                dh.Ban = model.Ban;

                foreach (var item in model.GioHang)
                {
                    dh.CTDonHangs.Add(new CTDonHang()
                    {
                        SanPhamId = item.ProductId,
                        DonGia    = item.Price,
                        ThanhTien = item.ThanhTien,
                        SoLuong   = item.SoLuong,
                    });
                }

                //save
                __db.DonHangs.Add(dh);
                __db.SaveChanges();
            }
            catch (Exception ex)
            {
                r = rs.F(ex.Message);
            }
            return(Json(r, JsonRequestBehavior.DenyGet));
        }
예제 #10
0
        public JsonResult LoginProccess(loginVM vm)
        {
            rs logr = _userServ.Login(vm.Username, vm.Password, true);

            if (logr.r)
            {
                loginVM  user  = (loginVM)logr.v;
                DateTime exp   = DateTime.UtcNow.AddYears(1);
                var      token = EncodeDecodeJWT.Encode(new Dictionary <string, object>
                {
                    { "uid", user.ID },
                    { "exp", exp.toJWTString() }
                });
                HttpCookie authCookie = new HttpCookie("auth");
                authCookie.Value   = token;
                authCookie.Expires = DateTime.Now.AddMonths(1);
                Response.Cookies.Add(authCookie);
                //myCookies.Set("auth", token, exp);
            }

            string re;

            if (vm.role == "homepage")
            {
                re = Url.Action("Index", "Home", new { area = "" });
            }
            else
            {
                re = Url.Action("Index", "Home", new { area = "Admin" });
            }
            if (string.IsNullOrEmpty(vm.ReturnUrl) == false)
            {
                re = myBase64EncodeDecode.DecodeBase64(vm.ReturnUrl);
            }

            logr.v = re;
            return(Json(logr, JsonRequestBehavior.DenyGet));
        }
예제 #11
0
 $"[{Common.LoggerHead}]->设备注销时异常->{JsonHelper.ToJson(rs,Formatting.Indented)}");
예제 #12
0
        public JsonResult ajax_dathang(TaoDonHangVM model)
        {
            var __auth = MySsAuthUsers.GetAuth();
            rs  r      = rs.T("Ok");

            try
            {
                var BanArr = new List <int>();
                var quan   = __db.Quan.FirstOrDefault(f => f.Id == model.QuanId);
                if (!string.IsNullOrWhiteSpace(quan.BanArr))
                {
                    try
                    {
                        BanArr = quan.BanArr.Split(',').Select(Int32.Parse).Distinct().ToList();
                    }
                    catch
                    {
                    }
                }

                /*if (!BanArr.Contains(model.Ban))
                 * {
                 *  throw new Exception("Số Bàn nhập không tồn tại trong quán " + quan.TenQuan + ", vui lòng thử lại!");
                 * }*/


                var     __user = __db.Users.Find(__auth.ID);
                DonHang dh     = new DonHang();
                dh.GhiChuDonHang = model.GhiChu;
                //dh.BanId = model.BanId != -1 ? model.BanId : null;
                dh.QuanId = model.QuanId;
                dh.TrangThaiGiaoHangId  = model.TrangThaiGiaoHangId;
                dh.TrangThaiThanhToanId = model.TrangThaiThanhToanId;
                dh.HinhThucMuaHangId    = model.HinhThucMuaHangId;
                dh.UserId       = __auth.ID;
                dh.BaseUserId   = __user.OwnerId != null ? __user.OwnerId.Value : __auth.ID;
                dh.CTDonHangs   = new Collection <CTDonHang>();
                dh.TongTienHang = model.GioHang.Sum(s => s.Price * s.SoLuong);
                dh.Ban          = model.Ban;



                dh.SDT            = model.SDT;
                dh.YeuCauKhac     = model.YeuCauKhac;
                dh.DiaChiGiaoHang = model.DiaChiGiaoHang;

                foreach (var item in model.GioHang)
                {
                    dh.CTDonHangs.Add(new CTDonHang()
                    {
                        SanPhamId = item.ProductId,
                        DonGia    = item.Price,
                        ThanhTien = item.ThanhTien,
                        SoLuong   = item.SoLuong,
                        ThucDonId = item.ThucDonId,
                        GiaId     = item.GiaId,
                        TenGia    = item.TenGia,
                    });
                }

                //save
                __db.DonHangs.Add(dh);
                __db.SaveChanges();
            }
            catch (Exception ex)
            {
                r = rs.F(ex.Message);
            }
            return(Json(r, JsonRequestBehavior.DenyGet));
        }
예제 #13
0
        // This method must be thread-safe since it is called by the thread-safe OnCacheAuthorization() method.

        /*
         * Phương thức này phải được thread-safe  vì nó được gọi bởi các phương thức Authorization cache thread-safe ()
         * cái đích của phương thức này là kiểm tra xem user đó đăng nhập đúng hay ko, có quền hay ko có quề
         * true: có quền
         * false: không có quên - > simple that!
         *
         */


        protected virtual bool AuthorizeCore(HttpContextBase httpContext)
        {
            this._userServ = DependencyResolver.Current.GetService <IUserRepository>();
            try
            {
                if (httpContext == null)
                {
                    throw new ArgumentNullException("httpContext");
                }

                loginVM logvm = MySsAuthUsers.GetAuth();
                if (logvm == null)
                {
                    var jsonnn = myCookies.Get("auth");
                    if (!string.IsNullOrWhiteSpace(jsonnn))
                    {
                        try
                        {
                            rs rsdecode = EncodeDecodeJWT.Decode(jsonnn);
                            if (rsdecode.r && rsdecode.v != null)
                            {
                                JwtLoginModel user_cook = (JwtLoginModel)rsdecode.v;
                                var           log       = _userServ.GetEntry(user_cook.uid);
                                logvm = new loginVM(log);
                                MySsAuthUsers.setLogin(logvm);
                            }
                        }
                        catch (Exception ex)
                        {
                            // _userServ.SSLogOut();
                            return(false);
                        }
                    }
                }
                if (logvm == null)
                {
                    return(false);
                }
                var user_login = _userServ.SSgetUserLoged();
                //Auth2. kiểm tra quền hạn theo username

                if (_usersSplit.Length > 0 &&
                    !_usersSplit.Contains(user_login.Username, StringComparer.OrdinalIgnoreCase))
                {
                    return(false);
                }

                if (_rolesSplit.Length > 0 && !_rolesSplit.Contains(user_login.RoleId.ToString()))
                {
                    return(false);
                }

                //Auth3. Kiểm tra quền hạn theo access role
                if (user_login.Username != "admin")
                {
                    if (_quyensSplit.Length > 0 && !IsInRole(user_login.ne_quyenIntArrStr, _quyensSplit))
                    {
                        return(false);
                    }
                }

                return(true);
            }
            catch
            {
                return(false);
            }
        }