逐步搭建vs2015的API自带认证调用+跨域调用
demo百度网盘链接:https://pan.baidu.com/s/1HJ19RJwS6qCixui8KF8QBg
提取码:yt1c
首先我们建立一个webapi项目,这个就不需要小编解释了。如下图,这是小编新建的weapi项目。
注意:关于中间件owin oath,2015已经自动安装并引用进入了,所以2015以下的需要手动引入,
具体不懂的可以去看官网。

由于原来的认证需要注册账号,所以我们重新定义验证方法,在项目里面找到【Providers】文件夹下的ApplicationOAuthProvider方法打开,
修改原来的方法GrantResourceOwnerCredentials,内部验证流程根据自己需求进行验证,我这里就不进行验证了。

然后修改一下访问路由,默认的路由可以访问正常方法,但是访问api的时候会报错,这是由于缺少一个参数,我们只有在原来的基础上加一个就行了,如图:

当然,跨域的方法我们上一博说过来,不了解的童鞋可以去看看。
好了,我们使用postman进行调用尝试
请求方式:post
请求路径:你自己的项目路径
Headers:(key:Content-Type,VALUE:application/x-www-form-urlencoded)
Body:grant_type=password&username=你的账号(前面没有验证这里随便写)&password=你的密码(前面没有验证这里随便写)
请求后如我们得到token,如下图:

接下来我们在api控制器里面写入一个测试调用方法,记住,如果是自己添加的空控制器,需要继承ApiController,并且方法需要添加[Authorize]属性,如下图:

到这里我们api就写好啦,是不是很简单,接下来我们写一个调用。
我们为了效果明显,可以重新新建一个web MVC项目,然后进行调用,如下图:

我们使用ajax调用查看是否成功

很显然,我们调用成功了,正确获取到另一个项目里面的方法返回内容。
是不是很简单,这就是vs2015自带的认证,当然,和oath2.0认证有差别的,但是现在百度查的.net的oath2.0都比较大神,像我们这种小白看不懂,
关注小编,下次详解oath2.0逐步搭建实现过程!
逐步搭建vs2015的API自带认证调用+跨域调用的更多相关文章
- ASP.NET Web API 自定义MediaType实现jsonp跨域调用
代码来自<ASP.NET Web API 2 框架揭秘>一书. 直接上代码: /// <summary> /// 自定义jsonp MediaType /// </sum ...
- 以短链服务为例,探讨免AppKey、免认证、Ajax跨域调用新浪微博API
新浪微博的API官方提供了很多种调用方式,支持编程的,归根结底就是两种: 1.基于Oauth协议,使用Open API.(http://open.weibo.com/wiki/%E6%8E%88%E6 ...
- ajax——CORS跨域调用REST API 的常见问题以及前后端的设置
RESTful架构是目前比较流行的一种互联网软件架构,在此架构之下的浏览器前端和手机端能共用后端接口. 但是涉及到js跨域调用接口总是很头疼,下边就跟着chrome的报错信息一起来解决一下. 假设:前 ...
- 改变mvc web api 支持android ,ios ,ajax等方式跨域调用
公司一个移动后端的项目用到了 webapi 项目搭建到外网环境共app开发者调用测试接口时遇到了一个问题 接口不允许跨域调用 .查阅资料明白 同源策略原则根据请求报头值 Origin 与回应报头值 A ...
- JavaScript跨域调用、JSONP、CORS与ASP.NET Web API[共8篇]
[第1篇] 同源策略与JSONP 浏览器是访问Internet的工具,也是客户端应用的宿主,它为客户端应用提供一个寄宿和运行的环境.而这里所说的应用,基本是指在浏览器中执行的客户端JavaScript ...
- web api 初体验 解决js调用跨域问题
跨域界定 常见跨域: 同IP不同端口: http:IP:8001/api/user http:IP:8002/api/user 不同IP不同端口: http://172.28.20.100:8 ...
- 如何通过js跨域调用ASP.NET Web API (请问如何实现在javascript中通过http get的方式跨域调用ASP.NET Web API?)
客户端js无需任何专门设置,使用通常的ajax调用即可: $.ajax({ url: '跨域URL', type: 'get', dataType: 'json', success: function ...
- web api 跨域请求,ajax跨域调用webapi
1.跨域问题仅仅发生在Javascript发起AJAX调用,或者Silverlight发起服务调用时,其根本原因是因为浏览器对于这两种请求,所给予的权限是较低的,通常只允许调用本域中的资源,除非目标服 ...
- Asp.Net Web Api 接口,拥抱支持跨域访问。
如何让你的 Asp.Net Web Api 接口,拥抱支持跨域访问. 由于 web api 项目通常是被做成了一个独立站点,来提供数据,在做web api 项目的时候,不免前端会遇到跨域访问接口的问题 ...
随机推荐
- js的算法题
1.统计一个字符串中出现最多的字母 给出一个字符串,统计出现次数最多的字母.如:“wqeqwhixswiqhdxsq”,其中出现最多的是q. js算法的实现 function findMax(str) ...
- mysql命名规范
1.数据库表命名规范: (1)表名前应该加上前缀,表的前缀一个用系统或模块的英文名称缩写,前缀全部大写或首字母大写,表名中包含的单词首字母大写. (2)数据库表名应该有意义,并且易于理解,最好使用可以 ...
- mysql 语法积累
1.把一个表中的某一列赋值到另一个表中的某一列 update sfa_token,sfa_member set sfa_token.mainid = sfa_member.mainid where s ...
- 记使用aliyun-log-logback-appender 报错no applicable action for [encoder], current ElementPath is [[configuration][appender][encoder]]
依赖: <dependency> <groupId>com.aliyun.openservices</groupId> <artifactId>aliy ...
- hadoop环境搭建及Wordcount案例实验
1.Linux环境变量设置 在/etc/profile中添加环境变量 sudo vim /etc/profile PATH=$PATH:/usr/local/hadoop/bin source /et ...
- Deployment Characteristics of "The Edge" in Mobile Edge Computing
移动边缘计算中的“边缘”部署特性 本文为SIGCOMM 2018 Workshop (Mobile Edge Communications, MECOMM)论文. 本文翻译了论文的关键内容. 摘要 移 ...
- 网页开发--03(wampserver安装服务无法启动的问题)
一.安装wampserver 一路next,指定安装路径外,其它默认安装. 二.我遇到的问题 当任务图标绿色为正常启动状态,但是我的从打开一直是黄色,问题在于Apache和MySql 1)Apache ...
- 1.8 Double-Opening and Virtual Machine
Since plug-in will be replaced by RN as following years, what is the future of plug-in? the answer i ...
- [Swift]LeetCode433. 最小基因变化 | Minimum Genetic Mutation
A gene string can be represented by an 8-character long string, with choices from "A", &qu ...
- [Swift]LeetCode986. 区间列表的交集 | Interval List Intersections
Given two lists of closed intervals, each list of intervals is pairwise disjoint and in sorted order ...