Example #1
0
        public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context)
        {
            //context.OwinContext.Response.Headers.Add("Access-Control-Allow-Origin", new[] { "*" });
            MTADbContext db = new MTADbContext();

            Mapper.CreateMap <AU_NGUOIDUNG, AuNguoiDungVm.CurrentUser>();
            AuNguoiDungVm.CurrentUser result = null;
            var user = db.AU_NGUOIDUNGs.Where(x => x.Username == context.UserName).FirstOrDefault();

            if (user != null)
            {
                if (user.Password == MD5Encrypt.Encrypt(context.Password))
                {
                    result = Mapper.Map <AU_NGUOIDUNG, AuNguoiDungVm.CurrentUser>(user);
                }
            }
            if (user == null)
            {
                context.SetError("invalid_grant", "The user name or password is incorrect.");
                return;
            }
            Action <ClaimsIdentity, string> addClaim = (ClaimsIdentity obj, string username) => { return; };
            var identity = new ClaimsIdentity(context.Options.AuthenticationType);

            identity.AddClaim(new Claim(ClaimTypes.Name, context.UserName));
            addClaim.Invoke(identity, user.Username);
            identity.AddClaim(new Claim(ClaimTypes.Role, "MEMBER"));
            identity.AddClaim(new Claim("unitCode", user.UnitCode));
            identity.AddClaim(new Claim("parentUnitCode", user.ParentUnitcode));
            AuthenticationProperties properties = new AuthenticationProperties(new Dictionary <string, string>
            {
                {
                    "userName", string.IsNullOrEmpty(user.Username)?string.Empty:user.Username
                },
                {
                    "fullName", string.IsNullOrEmpty(user.TenNhanVien)?string.Empty:user.TenNhanVien
                },
                {
                    "code", string.IsNullOrEmpty(user.MaNhanVien)?string.Empty:user.MaNhanVien
                },
                {
                    "phone", string.IsNullOrEmpty(user.SoDienThoai)?string.Empty:user.SoDienThoai
                },
                {
                    "chungMinhThu", string.IsNullOrEmpty(user.ChungMinhThu)?string.Empty:user.ChungMinhThu
                },
                {
                    "unitCode", string.IsNullOrEmpty(user.UnitCode)?string.Empty:user.UnitCode
                },
                {
                    "parentUnitCode", string.IsNullOrEmpty(user.ParentUnitcode)?string.Empty:user.ParentUnitcode
                }
            });

            AuthenticationTicket ticket = new AuthenticationTicket(identity, properties);

            context.Validated(ticket);
            context.Request.Context.Authentication.SignIn(identity);
        }
 public List <AuNhomQuyenChucNangVm.ViewModel> GetByMaNhomQuyen(string phanhe, string manhomquyen)
 {
     try
     {
         MTADbContext db   = new MTADbContext();
         var          data = (from cn in db.AU_NHOMQUYEN_CHUCNANGs
                              join mn in db.AU_MENUs on cn.MACHUCNANG equals mn.MenuId
                              where cn.UnitCode == phanhe && mn.UnitCode == phanhe && cn.MANHOMQUYEN == manhomquyen
                              orderby mn.Sort
                              select new
         {
             ID = cn.Id,
             MANHOMQUYEN = cn.MANHOMQUYEN,
             MACHUCNANG = cn.MACHUCNANG,
             TENCHUCNANG = mn.Title,
             STATE = mn.MenuId,
             SOTHUTU = mn.Sort,
             XEM = cn.XEM,
             SUA = cn.SUA,
             XOA = cn.XOA,
             THEM = cn.THEM,
             DUYET = cn.DUYET,
         }).ToList();
         List <AuNhomQuyenChucNangVm.ViewModel> lst = new List <AuNhomQuyenChucNangVm.ViewModel>();
         foreach (var x in data)
         {
             AuNhomQuyenChucNangVm.ViewModel temp = new AuNhomQuyenChucNangVm.ViewModel()
             {
                 Id          = x.ID,
                 MANHOMQUYEN = x.MANHOMQUYEN,
                 MACHUCNANG  = x.MACHUCNANG,
                 TENCHUCNANG = x.TENCHUCNANG,
                 STATE       = x.STATE,
                 SOTHUTU     = x.SOTHUTU.ToString(),
                 XEM         = x.XEM,
                 SUA         = x.SUA,
                 XOA         = x.XOA,
                 THEM        = x.THEM,
                 DUYET       = x.DUYET
             };
             lst.Add(temp);
         }
         return(lst);
     }
     catch (Exception ex)
     {
         return(null);
     }
 }
Example #3
0
        public AuNguoiDungVm.Dto FindUser(string username, string password)
        {
            var result = new AuNguoiDungVm.Dto();

            using (var ctx = new MTADbContext())
            {
                var user = ctx.AU_NGUOIDUNGs.FirstOrDefault(x => x.Username == username && x.TrangThai == 10);
                if (user != null)
                {
                    if (user.Password == MD5Encrypt.Encrypt(password))
                    {
                        result = Mapper.Map <AU_NGUOIDUNG, AuNguoiDungVm.Dto>(user);
                        return(result);
                    }
                }
                else
                {
                    result = null;
                }
            }
            return(result);
        }