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); } }
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); }