private void TokenValidate(HttpContext context, OneZeroContext oneZeroContext)
 {
     //if (_oneZeroContext.RequestIP != _oneZeroContext.TokenIP)
     //{
     //    throw new OneZeroException("检测到您登陆的地址不同,请重新登陆", HttpStatusCode.Redirect);
     //}
 }
 /// <summary>
 /// 使用约定激活的中间件,注入的对象无法通过构造函数获取,只能在Invoke里获取
 /// </summary>
 /// <param name="context"></param>
 /// <param name="next"></param>
 /// <param name="oneZeroContext"></param>
 /// <returns></returns>
 public async Task Invoke(HttpContext context, OneZeroContext oneZeroContext, OneZeroOption oneZeroOption)
 {
     _oneZeroContext = oneZeroContext;
     _oneZeroContext.IsAuththentic = oneZeroOption.IsAuthentic.CastTo(false);
     _oneZeroContext.RequestIP     = context.Connection.RemoteIpAddress.ToString();
     _oneZeroContext.ActionPath    = context.Request.Path;
     //是否开启身份验证
     if (_oneZeroContext.IsAuththentic)
     {
         _oneZeroContext.TokenIP        = context.User.HasClaim(v => v.Type == "ip") ? context.User.Claims.Where(v => v.Type == "ip").Select(v => v.Value).First() : "";
         _oneZeroContext.UserId         = context.User.HasClaim(v => v.Type == "userid") ? context.User.Claims.Where(v => v.Type == "userid").Select(v => v.Value).First().CastTo(default(Guid)) : default(Guid);
         _oneZeroContext.TenanId        = context.User.HasClaim(v => v.Type == "tenanid") ? context.User.Claims.Where(v => v.Type == "tenanid").Select(v => v.Value).First().CastTo(default(Guid)) : oneZeroOption.DefaultTenanId.ConvertToGuid("TenanId配置");
         _oneZeroContext.MenuList       = context.User.Claims.Where(v => v.Type == "menus")?.Select(v => v.Value);
         _oneZeroContext.RoleList       = context.User.Claims.Where(v => v.Type == "roles")?.Select(v => v.Value);
         _oneZeroContext.PermissionList = context.User.Claims.Where(v => v.Type == "permissions")?.Select(v => v.Value);
         //通过token携带信息判断,该请求是否合法
         TokenValidate(context, oneZeroContext);
     }
     else
     {
         //默认租户ID
         _oneZeroContext.TenanId = oneZeroOption.DefaultTenanId.ConvertToGuid("TenanId配置");
     }
     await _next(context);
 }
Example #3
0
 public BaseService(IUnitOfWork unitOfWork, IDapperProvider dapper, IMapper mapper, OneZeroContext oneZeroContext)
 {
     _unitOfWork          = unitOfWork;
     _dapper              = dapper;
     _mapper              = mapper;
     _oneZeroContext      = oneZeroContext;
     DefaultConnectString = ((DbContext)_unitOfWork.GetDbContext()).Database.GetDbConnection().ConnectionString;
 }
Example #4
0
 public OneZeroUnitOfWork(IServiceProvider provider, OneZeroContext oneZeroContext) : base(provider)
 {
     _oneZeroContext = oneZeroContext;
 }
 public OneZeroRepository(IDbContext dbContext, ILogger <Repository <TEntity, Guid> > logger, OneZeroContext oneZeroContext) : base(dbContext, logger)
 {
     _oneZeroContext = oneZeroContext;
     _logger         = logger;
 }