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自带认证调用+跨域调用的更多相关文章

  1. ASP.NET Web API 自定义MediaType实现jsonp跨域调用

    代码来自<ASP.NET Web API 2 框架揭秘>一书. 直接上代码: /// <summary> /// 自定义jsonp MediaType /// </sum ...

  2. 以短链服务为例,探讨免AppKey、免认证、Ajax跨域调用新浪微博API

    新浪微博的API官方提供了很多种调用方式,支持编程的,归根结底就是两种: 1.基于Oauth协议,使用Open API.(http://open.weibo.com/wiki/%E6%8E%88%E6 ...

  3. ajax——CORS跨域调用REST API 的常见问题以及前后端的设置

    RESTful架构是目前比较流行的一种互联网软件架构,在此架构之下的浏览器前端和手机端能共用后端接口. 但是涉及到js跨域调用接口总是很头疼,下边就跟着chrome的报错信息一起来解决一下. 假设:前 ...

  4. 改变mvc web api 支持android ,ios ,ajax等方式跨域调用

    公司一个移动后端的项目用到了 webapi 项目搭建到外网环境共app开发者调用测试接口时遇到了一个问题 接口不允许跨域调用 .查阅资料明白 同源策略原则根据请求报头值 Origin 与回应报头值 A ...

  5. JavaScript跨域调用、JSONP、CORS与ASP.NET Web API[共8篇]

    [第1篇] 同源策略与JSONP 浏览器是访问Internet的工具,也是客户端应用的宿主,它为客户端应用提供一个寄宿和运行的环境.而这里所说的应用,基本是指在浏览器中执行的客户端JavaScript ...

  6. web api 初体验 解决js调用跨域问题

    跨域界定 常见跨域: 同IP不同端口: http:IP:8001/api/user     http:IP:8002/api/user 不同IP不同端口: http://172.28.20.100:8 ...

  7. 如何通过js跨域调用ASP.NET Web API (请问如何实现在javascript中通过http get的方式跨域调用ASP.NET Web API?)

    客户端js无需任何专门设置,使用通常的ajax调用即可: $.ajax({ url: '跨域URL', type: 'get', dataType: 'json', success: function ...

  8. web api 跨域请求,ajax跨域调用webapi

    1.跨域问题仅仅发生在Javascript发起AJAX调用,或者Silverlight发起服务调用时,其根本原因是因为浏览器对于这两种请求,所给予的权限是较低的,通常只允许调用本域中的资源,除非目标服 ...

  9. Asp.Net Web Api 接口,拥抱支持跨域访问。

    如何让你的 Asp.Net Web Api 接口,拥抱支持跨域访问. 由于 web api 项目通常是被做成了一个独立站点,来提供数据,在做web api 项目的时候,不免前端会遇到跨域访问接口的问题 ...

随机推荐

  1. js的算法题

    1.统计一个字符串中出现最多的字母 给出一个字符串,统计出现次数最多的字母.如:“wqeqwhixswiqhdxsq”,其中出现最多的是q. js算法的实现 function findMax(str) ...

  2. mysql命名规范

    1.数据库表命名规范: (1)表名前应该加上前缀,表的前缀一个用系统或模块的英文名称缩写,前缀全部大写或首字母大写,表名中包含的单词首字母大写. (2)数据库表名应该有意义,并且易于理解,最好使用可以 ...

  3. mysql 语法积累

    1.把一个表中的某一列赋值到另一个表中的某一列 update sfa_token,sfa_member set sfa_token.mainid = sfa_member.mainid where s ...

  4. 记使用aliyun-log-logback-appender 报错no applicable action for [encoder], current ElementPath is [[configuration][appender][encoder]]

    依赖: <dependency> <groupId>com.aliyun.openservices</groupId> <artifactId>aliy ...

  5. hadoop环境搭建及Wordcount案例实验

    1.Linux环境变量设置 在/etc/profile中添加环境变量 sudo vim /etc/profile PATH=$PATH:/usr/local/hadoop/bin source /et ...

  6. Deployment Characteristics of "The Edge" in Mobile Edge Computing

    移动边缘计算中的“边缘”部署特性 本文为SIGCOMM 2018 Workshop (Mobile Edge Communications, MECOMM)论文. 本文翻译了论文的关键内容. 摘要 移 ...

  7. 网页开发--03(wampserver安装服务无法启动的问题)

    一.安装wampserver 一路next,指定安装路径外,其它默认安装. 二.我遇到的问题 当任务图标绿色为正常启动状态,但是我的从打开一直是黄色,问题在于Apache和MySql 1)Apache ...

  8. 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 ...

  9. [Swift]LeetCode433. 最小基因变化 | Minimum Genetic Mutation

    A gene string can be represented by an 8-character long string, with choices from "A", &qu ...

  10. [Swift]LeetCode986. 区间列表的交集 | Interval List Intersections

    Given two lists of closed intervals, each list of intervals is pairwise disjoint and in sorted order ...