コード例 #1
0
        public JsonResult JsonIgnoreNull(SmartHttpResult data)
        {
            JsonSerializerSettings jsetting = new JsonSerializerSettings();

            jsetting.NullValueHandling = NullValueHandling.Ignore;
            return(new JsonResult(data, jsetting));
        }
コード例 #2
0
 public override void OnResultExecuting(ResultExecutingContext context)
 {
     if (!context.ModelState.IsValid)
     {
         SmartHttpResult result = new SmartHttpResult();
         result.status = false;
         foreach (var item in context.ModelState.Values)
         {
             foreach (var error in item.Errors)
             {
                 result.msg += error.ErrorMessage + "|";
             }
         }
         context.Result = new JsonResult(result);
     }
 }
コード例 #3
0
ファイル: Startup.cs プロジェクト: tanhualin/TechProjects
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            DAL.BaseDAL.SqlConnString = Configuration.GetConnectionString("DefaultConnection");

            services.Configure <Models.JwtSettings>(Configuration.GetSection("JwtSettings"));
            Models.JwtSettings setting = new Models.JwtSettings();
            Configuration.Bind("JwtSettings", setting);

            services.AddAuthentication(options =>
            {
                options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
                options.DefaultChallengeScheme    = JwtBearerDefaults.AuthenticationScheme;
            })
            .AddJwtBearer(o =>
            {
                o.SecurityTokenValidators.Clear();
                o.SecurityTokenValidators.Add(new Common.Helper.JwtTokenValidataHelper());

                o.Events = new JwtBearerEvents()
                {/* TokenValidated:在Token验证通过后调用。
                  * AuthenticationFailed: 认证失败时调用。
                  * Challenge: 未授权时调用。
                  *
                  */
                    //重写OnMessageReceived
                    OnMessageReceived = context =>
                    {
                        if (context.Request.Query != null && context.Request.Query.ContainsKey("_allow_anonymous") &&
                            context.Request.Query["_allow_anonymous"].ToString().ToLower() == "true")
                        {
                            return(Task.CompletedTask);
                        }
                        else
                        {
                            if (context.Request.Headers.ContainsKey("token"))
                            {
                                var token     = context.Request.Headers["token"];
                                context.Token = token.FirstOrDefault();
                                return(Task.CompletedTask);
                            }
                            else if (context.Request.Headers.ContainsKey("Authorization") || context.Request.Headers.ContainsKey("Bearer"))
                            {
                                return(Task.CompletedTask);
                            }
                            else
                            {
                                context.NoResult();
                                context.Response.StatusCode       = 401;
                                Common.Mvc.SmartHttpResult result = new Common.Mvc.SmartHttpResult();
                                result.Set(false, "There is no Token");
                                return(context.Response.WriteAsync(JsonConvert.SerializeObject(result)));
                            }
                        }
                    },
                    OnAuthenticationFailed = c =>
                    {
                        c.NoResult();
                        c.Response.StatusCode = 401;

                        Common.Mvc.SmartHttpResult result = new Common.Mvc.SmartHttpResult();
                        result.Set(false, "Invalid Token Failure");
                        return(c.Response.WriteAsync(JsonConvert.SerializeObject(result)));
                    }
                };
            });
            // services.AddMvc();
            services.AddMvc(options =>
            {
                options.Filters.Add(typeof(ErrorResultActionFilter));
                //options.RespectBrowserAcceptHeader = true;
            });
        }
コード例 #4
0
 //public JsonResult JsonSmart(SmartHttpResult result)
 //{
 //    return new JsonResult(result);
 //}
 public JsonResult JsonEx(SmartHttpResult data)
 {
     return(new JsonResult(data));
 }