如何自定义WebApi授权验证中context.SetError错误返回格式 50C

在使用MVC WebApi的授权发放GrantResourceOwnerCredentials时候 如何获得自定义返回错误 而不是 context.SetError的默认格式
context.SetError 显示的是 {"error":""}这种 我想要自定义的 比如 {"errorCode":0,"errorMessage":"错误提示内容"}

2个回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
MVC及Web API添加身份验证及错误处理的过滤器

MVC及Web API添加身份验证及错误处理的过滤器 先说身份验证的问题。无论是mvc还是api都有一个安全性的问题,未通过身份验证的人能不能访问的问题。我们新一个空项目时,默认是没有身份验证的,除非你在控制器类或者方法上面加上Authorize属性才会需要身份验证。但是我的控制器有那么多,我都要给它加上属性,多麻烦,所以我们就想到过滤器了。过滤器中加上后,控制器都不用加就相当于有这个属性了。

MVC WebAPI框架里设置异常返回格式统一

webApi里设置全局异常返回格式 今天为了设置api返回格式统一,在网上找了一推资料,各种资料参差不齐的,最后自己捣鼓,终于弄出来了,直接上代码 /// /// 消息代理处理,用来捕获这些特殊的异常信息 /// public class CustomErrorMessageDelegatingHandler : DelegatingHandler

在WebApi中基于Owin OAuth使用授权发放Token

转自:http://www.tuicool.com/articles/Ene2uaj 如何基于Microsoft.Owin.Security.OAuth,使用Client Credentials Grant授权方式给客户端发放access token? Client Credentials Grant的授权方式就是只验证客户端(Client),不验证用户(Resource O

webapi - 模型验证

» 增加模型验证 » 自定义过滤器,输出模型验证信息 » FromUri和FromBody用途   下面一步一个脚印的来分享: » 增加模型验证 首先,我们测试用例使用上一篇的 MoStudent 学生类,模型验证需要在对应提交类中的需要验证格式的属性增加一些注解标记,常用的标记有: . Required:必须满足不为空 . RegularExpression:正则表达式验证 .

[Web API] 如何让 Web API 统一回传格式以及例外处理

[Web API] 如何让 Web API 统一回传格式以及例外处理 前言 当我们在开发 Web API 时,一般的情况下每个 API 回传的数据型态或格式都不尽相同,如果你的项目从头到尾都是由你一个人独力完成,那也许还可以说声「阿密陀佛」,但如果是有其他人需要和你共享你的 Api ,而回传的数据格式又不一样,相信是会增加使用者的困扰,也大大增加了程序的复杂度与维护上的难度。所

MVC WebApi自定义异常过滤器

WebApiExceptionHandleFilter public class WebApiExceptionHandleFilter : ExceptionFilterAttribute     {         ILogger _logger = null;         private ISysEmailListService _sysEmailListService = nu

WebAPI OWIN认证引起的系列问题

解决办法: Controller加上[AllowAnonymous]特性,或将[Authorize]特性取消,在运行浏览器中输入localhost:6980/api/values/就能有结果了。

用Middleware给ASP.NET Core Web API添加自己的授权验证

在之前的MVC中,我们可能是通过过滤器来处理这个身份的验证,在Core中,我自然就是选择Middleware来处理这个验证。

关于Web api授权的问题

最近在做Web api接口,因为之前没做过也没用过,所以前期遇到了很多问题,尤其是授权这块,因此写下这篇文档记录一下。 好了不多说,直接开始 首先要先 继承using System.Web.Http webapi授权的时候要重写AuthorizeAttribute里的OnAuthorization方法 [AttributeUsageAttribute(AttributeTargets

Asp.Net MVC 4 Web API 中的安全认证-使用OAuth

Asp.Net MVC 4 Web API 中的安全认证-使用OAuth 各种语言实现的oauth认证: http://oauth.net/code/   上一篇文章介绍了如何使用基本的http认证来实现asp.net web api的跨平台安全认证。 这里说明一个如何使用oauth实现的认证。oauth大家可能不陌生。那么这里需要注意的是我们使用的是.net平台一个比较好的开源oa

Web用户的身份验证及WebApi权限验证流程的设计和实现

前言:Web 用户的身份验证,及页面操作权限验证是B/S系统的基础功能,一个功能复杂的业务应用系统,通过角色授权来控制用户访问,本文通过Form认证,Mvc的Controller基类及Action的权限验证来实现Web系统登录,Mvc前端权限校验以及WebApi服务端的访问校验功能。 1. Web Form认证介绍 Web应用的访问方式因为是基于浏览器的Http地址请求,所以需要验证用

重写AuthorizeAttribute实现自己的权限验证

一个简单的WinForm权限设计 http://www.cnblogs.com/lnwuyaowei/articles/722558.html 浅谈C# WinForm中实现基于角色的权限菜单 http://blog.csdn.net/CodingMouse/article/details/3515969 Winform开发框架之权限管理系统 http://www.cnb

WebApi授权拦截——重写AuthorizeAttribute

webapi重写Authorize的HandleUnauthorizedRequest,让服务端返回json,并且把401改为其他状态码来避免被重定向

MVC WebApi 用户权限验证及授权DEMO

MVC WebApi 用户权限验证及授权DEMO 前言:Web 用户的身份验证,及页面操作权限验证是B/S系统的基础功能,一个功能复杂的业务应用系统,通过角色授权来控制用户访问,本文通过Form认证,Mvc的Controller基类及Action的权限验证来实现Web系统登录,Mvc前端权限校验以及WebApi服务端的访问校验功能。 1 Web Form认证介绍 Web应用的访问方式因为是基于浏览器的Http地址请求,所以需要验证用户身份的合法性。目前常见的方式是Form认证,其处理逻辑描述如下: 1) 用户首先要在登录页面输入用户名和密码,然后登录系统,获取合法身份的票据,再执行后续业务处理操作; 2) 用户在没有登录的情况下提交Http页面访问请求,如果该页面不允许匿名访问,则直接跳转到登录页面; 3) 对于允许匿名访问的页面请求,系统不做权限验证,直接处理业务数据,并返回给前端; 4) 对于不同权限要求的页面Action操作,系统需要校验用户角色,计算权限列表,如果请求操作在权限列表中,则正常访问,如果不在权限列表中,则提示“未授权的访问操作”到异常处理页面。 2 WebApi 服务端Basic 方式验证 WebApi服务端接收访问请求,需要做安全验证处理,验证处理步骤如下: 1) 如果是合法的Http请求,在Http请求头中会有用户身份的票据信息,服务端会读取票据信息,并校验票据信息是否完整有效,如果满足校验要求,则进行业务数据的处理,并返回给请求发起方; 2) 如果没有票据信息,或者票据信息不是合法的,则返回“未授权的访问”异常消息给前端,由前端处理此异常。 3 登录及权限验证流程 1) 用户打开浏览器,并在地址栏中输入页面请求地址,提交; 2) 浏览器解析Http请求,发送到Web服务器;Web服务器验证用户请求,首先判断是否有登录的票据信息; 3) 用户没有登录票据信息,则跳转到登录页面; 4) 用户输入用户名和密码信息; 5) 浏览器提交登录表单数据给Web服务器; 6) Web服务需要验证用户名和密码是否匹配,发送api请求给api服务器; 7) api用户账户服务根据用户名,读取存储在数据库中的用户资料,判断密码是否匹配; 7.1)如果用户名和密码不匹配,则提示密码错误等信息,然该用户重新填写登录资料; 7.2)如果验证通过,则保存用户票据信息; 8) 接第3步,如果用户有登录票据信息,则跳转到用户请求的页面; 9) 验证用户对当前要操作的页面或页面元素是否有权限操作,首先需要发起api服务请求,获取用户的权限数据; 10). api用户权限服务根据用户名,查找该用户的角色信息,并计算用户权限列表,封装为Json数据并返回; 11). 当用户有权限操作页面或页面元素时,跳转到页面,并由页面Controller提交业务数据处理请求到api服务器; 如果用户没有权限访问该页面或页面元素时,则显示“未授权的访问操作”,跳转到系统异常处理页面。 12). api业务服务处理业务逻辑,并将结果以Json 数据返回; 13). 返回渲染后的页面给浏览器前端,并呈现业务数据到页面; 14). 用户填写业务数据,或者查找业务数据; 15). 当填写或查找完业务数据后,用户提交表单数据; 16). 浏览器脚本提交get,post等请求给web服务器,由web服务器再次解析请求操作,重复步骤2的后续流程; 17). 当api服务器验证用户身份是,没有可信用户票据,系统提示“未授权的访问操作”,跳转到系统异常处理页面。

修改 mvc webapi 默认返回 json 格式

修改 mvc webapi 默认返回 json 格式

在WebApi2中使用模型验证

很多时候我们在接收到客户端提交过来的请求之前,要验证一下数据合法性再执行操作。   数据注解Data Annotations     在WepApi中可以使用System.ComponentModel.DataAnnotations命名空间的属性,在你的model类中设置属性,来实现验证。 考虑以下场景: using System.ComponentModel.DataAnnota

【WEB API项目实战干货系列】- API登录与身份验证(三)

这篇我们主要来介绍我们如何在API项目中完成API的登录及身份认证. 所以这篇会分为两部分, 登录API, API身份验证. 这一篇的主要原理是: API会提供一个单独的登录API, 通过用户名,密码来产生一个SessionKey, SessionKey具有过期时间的特点, 系统会记录这个SessionKey, 在后续的每次的API返回的时候,客户端需带上这个Sessionkey, API端会验

Asp.net WEBAPI 简单的OAUTH认证

最近想买需要,公司使用了完全的前后端分离技术,后端使用ASP.NET WEBAPI实现,前端使用PHP作为中转服务器调用后端服务器提供的WEBAPI,前期测试环境没有加OAUTH 安全认证,但是实际的生产环境肯定要认证,不然暴露出去的WEB API就会很危险,很容易被别人利用来生成脏数据,所以经过仔细思考,前期暂时先使用认证指定IP的方式来防止异常注入操作,整体操作思路比较简单:1. 创建授权过滤器

WebApi 返回小驼峰式 json 格式,并格式化日期

在 WebApiConfig 类中增加方法ConfigureApi,并在 Register 方法最后调用一下    ConfigureApi(config);     增加一个实现IContentNegotiator 接口的类 JsonContentNegotiator 详细如下:  public static void ConfigureApi(HttpConfiguration conf

WebApi实现验证授权Token,WebApi生成文档等

using System; using System.Linq; using System.Web; using System.Web.Http; using System.Web.Security; namespace OtherApi.Auth { public class AuthFilterOutside : AuthorizeAttribute { /

webapi 返回数据类型控制(json,xml)

1.  GlobalConfiguration.Configuration.Formatters.XmlFormatter.SupportedMediaTypes.Clear(); 2. 根据请求参数控制  GlobalConfiguration.Configuration.Formatters .JsonFormatter.MediaTypeMappings.Add(new

web api写api接口时默认返回的是把你的对象序列化后以XML形式返回,那么怎样才能让其返回为json呢

web api写api接口时默认返回的是把你的对象序列化后以XML形式返回,那么怎样才能让其返回为json呢,下面为大家介绍几种不错的方法 web api写api接口时默认返回的是把你的对象序列化后以XML形式返回,那么怎样才能让其返回为json呢,下面就介绍两种方法:  方法一:(改配置法)  找到Global.asax文件,在Application_Start

asp.net core 2.0 web api基于JWT自定义策略授权

JWT(json web token)是一种基于json的身份验证机制,流程如下:     通过登录,来获取Token,再在之后每次请求的Header中追加Authorization为Token的凭据,服务端验证通过即可能获取想要访问的资源。关于JWT的技术,可参考网络上文章,这里不作详细说明, 这篇博文,主要说明在asp.net core 2.0中,基于jwt的web api的权限设置,

.net core webapi 使用Authorize身份认证

1.使用JWT身份认证模式,引入库:IdentityServer4.AccessTokenValidation2.在StartUp.cs中添加加密秘钥串:public static readonly SymmetricSecurityKey symmetricKey = new SymmetricSecurityKey(Encoding.ASCII.GetBytes("need_to_get_th...

使用OAuth打造webapi认证服务供自己的客户端使用

一、什么是OAuth OAuth是一个关于授权(Authorization)的开放网络标准,目前的版本是2.0版。注意是Authorization(授权),而不是Authentication(认证)。用来做Authentication(认证)的标准叫做openid connect,我们将在以后的文章中进行介绍。 二、名词定义 理解OAuth中的专业术语能够帮助你理解其流程模式

【7】.net WebAPI Owin OAuth 2.0 密码模式验证实例

1.OAuth密码模式 2.在VS中创建WebAPI项目 在nuget中安装: Microsoft.AspNet.WebApi.Owin Microsoft.Owin.Host.SystemWeb 这两个类库并添加Owin启动类Startup using System; using System.Threading.Tasks; using Micr

IdentityServer4 实现自定义 GrantType 授权模式

OAuth 2.0 默认四种授权模式(GrantType): 授权码模式(authorization_code) 简化模式(implicit) 密码模式(password) 客户端模式(client_credentials) 使用 IdentityServer4,我们可以自定义授权模式吗?答案是可以的,比如我们自定义实现一个anonymous授权模式(匿名访问)。 创建

Asp.Net MVC 4 Web API 中的安全认证---使用OAuth

//  Oauth授权处理 http://www.cnblogs.com/n-pei/archive/2012/05/29/2524673.html#undefined 各种语言实现的oauth认证: http://oauth.net/code/

.NET MVC5 自定义过滤器

1.全局验证每一次请求,是否有权限访问到请求的控制器创建Filters文件夹,里面创建UserRoleAttribute.cs文件1.继承System.Web.Mvc.ActionFilterAttribute(自定义过滤器)2.首先获取当前请求的控制器名称3.判断是否请求的是Login控制器,如果是,则允许,如果否,则判断Session是否存在4.如果Session存在则允许访问,如果不存在跳转...

让webapi统一返回JSON数据格式

只要将此代码加入Global.asax 文档内即可实现 GlobalConfiguration.Configuration.Formatters.XmlFormatter.SupportedMediaTypes.Clear();

ASP.NET Web api 身份认证原理解析

类图:TestController.csusing Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Net.Http; using System.Net.Http.Headers; using System.Web; u

自己开发实现OAuth做webapi认证

一、作为认证服务器,首先需要提供一个可以通过appid/appsecret来获取token这样的一个接口,于是便有了以下代码。 public class AuthController : ApiController { [HttpGet] public HttpResponseMessage Token(string appid =

Bean Validation设置校验失败全局返回信息(续自定义JSR validation)

Bean Validation设置校验失败全局返回信息,设置Bean Validation失败后Swagger的返回信息(续自定义JSR validation)

WebApi返回xml格式时去除命名空间

WebApi返回xml格式数据时去除xml的命名空间

.net FrameWork WebAPI 如何添加保护接口,授权服务器是.net Core 的IdentityServer4 ,并且对signalr进行保护

目前.net FrameWork WebAPI  仅支持到IdentityServer3,但是授权服务器是.net Core 的IdentityServer4 ,这时候对webapi 进行保护可能会出现一些问题,

使用ActionFilterAttribute 记录 WebApi Action 请求和返回结果记录

在asp.net mvc 中 webapi 和 mvc 处理消息是两个不同的管道,Asp.net mvc 和 webapi 为我们提供的 ActionFilterAttribute 拦截器,通过 重写 OnActionExecutingAsync,来 拦截action的请求消息,当执行OnActionExecutingAsync完成以后才真正进入请求的action中,action运行完后又把控制权

webapi token验证例子

webapi token验证例子

ASP.NET Web API(二):安全验证之使用HTTP基本认证

在前一篇文章ASP.NET Web API(一):使用初探,GET和POST数据中,我们初步接触了微软的REST API: Web API。 我们在接触了Web API的后就立马发现了有安全验证的需求,所以这篇文章我们先来讨论下安全验证一个最简单的方法:使用HTTP基本认证。 HTTP基本认证原理 在HTTP协议进行通信的过程中,HTTP协议定义了基本认证过程以允许HTTP服务器

Asp.net Web Api开发(第三篇)自定义异常过滤器

Asp.net Web Api开发(第三篇)自定义异常过滤器

WebApi接口安全认证——HTTP之摘要认证

WebApi接口安全认证——HTTP之摘要认证 博客分类: WebC# webapiapiwebservice        摘要访问认证是一种协议规定的Web服务器用来同网页浏览器进行认证信息协商的方法。它在密码发出前,先对其应用哈希函数,这相对于HTTP基本认证发送明文而言,更安全。从技术上讲,摘要认证是使用随机数来阻止进行密码分析的MD5加密哈希函数应用。它使用H

c# WebApi之身份验证:Basic基础认证

为什么需要身份认证身份认证是为了提高接口访问的安全性,如果没有身份验证,那么任何匿名用户只要知道服务器的url,就可以随意访问服务器,从而访问或者操作数据库,这会是很恐怖的事。什么是Basic基础认证Basic基础认证是一种简单的用户名、密码验证过程,它的主要原理是加密用户信息,生成票据,每次需要身份验证时将票据带过来验证,实现步骤为: 用户登录,登录成功后将生成的票据返回到前端; 前端登录成功后,

laravel 验证错误信息到 blade模板

后台代码: /** * POST * admin/cate * 添加 */ public function store(Request $request) { $input = $request->all(); $rule = [ 'name' => 'required',

WebApi 返回格式修改

1、局部改变让某个方法返回json,其他还是xml格式 2、全局改变全部返回json,其他全部返回json格式 在Global.asax,cs中配置

异常处理在 ASP.NET Web API

这篇文章描述错误和异常处理在 ASP.NET Web API。 HttpResponseException 异常筛选器 注册的异常筛选器 HttpError HttpResponseException 如果 Web API 控制器引发未捕获的异常,会发生什么?默认情况下,大多数异常被转译为 HTTP 响应状态代码 500,内部服务器错误。 HttpRespon

ASP.NET Web API与Owin OAuth:使用Access Toke调用受保护的API(二)

在前一篇博文中,我们使用OAuth的Client Credential Grant授权方式,在服务端通过CNBlogsAuthorizationServerProvider(Authorization Server的一个实现)成功发放了Access Token,并在客户端成功拿到了Access Token。 那Access Token有什么用呢?在OAuth中对Resource Serv

【译】使用Jwt身份认证保护 Asp.Net Core Web Api

原文出自Rui Figueiredo的博客,原文链接《Secure a Web Api in ASP.NET Core》摘要:这篇文章阐述了如何使用 Json Web Token (Jwt)方式 来配置身份验证中间件。这种方式十分适合移动App 后端等不使用cookie的后端程序。网络上有许多资源可以教你如何保护ASP.NET Core Web应用程序。我写过一些,例如 ASP.NET Core

MVC 基于 AuthorizeAttribute 实现的登陆权限控制

本篇主要讲述在MVC中使用AuthorizeAttribute实现登陆和权限控制,通俗的讲就是,判定用户是否登陆,若没登陆就跳转到登陆页,是否有权限访问页面,若没有则跳转到特定提示页。 网上有很多类似的,我也借鉴了部分,如有雷同请见谅。 关于AuthorizeAttribute的详解 请查看 https://msdn.microsoft.com/en-us/library/system.w...

WebApi返回Xml和返回json处理方法

webApi可以返回json、xml和自定义string字符串,本文我们不讨论返回string字符串。 一、全局都只能返回一种类型Xml或者json 1、返回xml,当我们新建一个webapi项目的时候系统默认webapiConfig默认返回xml此时webapiconfig的配置为: public static void Register(HttpConfiguration config

WebAPI权限验证

http://www.cnblogs.com/Leo_wl/p/5734716.html

ASP.NET WEBAPI实现微信接入验证

ASP.NET WEBAPI实现微信接入验证首先你需要一个微信公众号,很重要的是你需要完成认证,这点非常重要,如果不认证优先功能无法实现。 当你完成公众号的基本设定后,我们需要为开发做第一件事情:基本配置。下面我摘抄了微信开发文档中关于接入指南的部分图文 登录微信公众平台官网后,在公众平台后台管理页面 - 开发者中心页,点击“修改配置”按钮,填写服务器地址(URL)、Token和Encodin

相关热词 c# cad插入影像 c#设计思想 c#正则表达式 转换 c#form复制 c#写web c# 柱形图 c# wcf 服务库 c#应用程序管理器 c#数组如何赋值给数组 c#序列化应用目的博客园
立即提问