/// <summary> /// /// </summary> /// <param name="filterContext"></param> private void Handle(ActionExecutingContext filterContext) { Controller controller = filterContext.Controller as Controller; //token String Token = filterContext.HttpContext.Request.Query[GWebVariable.QingTokenAvg]; switch (Token) { case string topic when String.IsNullOrWhiteSpace(topic): { break; } default: { break; } } if (controller != null) { DTO_StoreAccount storeAccount = controller.HttpContext.Session.GetStoreAccount(); switch (storeAccount) { case DTO_StoreAccount acc when acc != null: { break; } case null: default: { UnauthorizedHandle(filterContext); break; } } return; } else { UnauthorizedHandle(filterContext); return; } }
/// <summary> /// 登录操作 /// </summary> /// <param name="controller"></param> /// <param name="data"></param> /// <returns></returns> static public EM_LoginState LoginLogic(this Controller controller, DTOAPIReq_Login data) { CoreContext db = new CoreContext(); Account account = (from x in db.Accounts.Include(obj => obj.AccountRoles) where x.Username == data.username select x).FirstOrDefault(); if (account == null) { return(EM_LoginState.NoExist); } if (account.Password == data.password) { IList <string> roles = (from x in account.AccountRoles select x.role.RoleName).ToList(); DTO_StoreAccount storeAccount = new DTO_StoreAccount { Id = account.Id, username = account.Username, password = account.Password, avatar = account.Avatar, email = account.Email, name = account.DisplayName, introduction = account.Introduction, phone = account.Phone, roles = roles }; controller.HttpContext.Session.SetStoreAccount(storeAccount); return(EM_LoginState.Pass); } else { return(EM_LoginState.PasswordError); } }
/// <summary> /// /// </summary> /// <param name="session"></param> /// <param name="data"></param> public static void SetStoreAccount(this ISession session, DTO_StoreAccount data) { session.SetObject(GWebVariable.StoreAccount, data); }