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. centos7安装可视化界面

    使用VMWare安装好centos7镜像后开始安装centos桌面. 一.输入命令 yum groupinstall "GNOME Desktop" "Graphical ...

  2. 初入linux系统

    作为微软的老铁粉了,看到微软进军linux这么久了,是时候该跟上脚本了,不然该落后了,脚步是如此之快,着实让我吃了一惊,说干就干, 绝不是开玩笑的,谁也阻止不了.net开源,跨平台的脚步了.以前别人说 ...

  3. webpack2入门概念

    webpack是一种JavaScript应用模块化打包工具,它配置起来简单易上手,因此很多企业工程化代码都使用它来打包.在具体介绍如何使用webpack之前,先来介绍下webpack的四个核心概念. ...

  4. swoole+websocket+redis实现一对一聊天

    如同web端的QQ和微信一样,这是一个web端的聊天程序. 环境:ubuntu + php + swoole扩展 + redis + mysql Redis 实现每个连接websocket的服务都唯一 ...

  5. 小程序----选择地理位置 ( wx.chooseLocation ) 和 获取地理位置 (wx.getSetting)

    问题来了:假如我第一次使用wx.chooseLocation()获取权限被拒绝,然后使用wx.getSetting()来重新获取权限该怎么做呢? 思路:wx.chooseLocation()有fail ...

  6. day11函数(形参实参)

    形参与实参 def fn(形参们): pass # 形参:定义函数,在括号内声明的变量名,用来结束外界传来的值# 实参:调用函数,在括号内传入的实际值,值可以为常量.变量.表达式或三者的组合 # 注: ...

  7. SharePoint 更改管理帐户密码步骤

    // https://wenku.baidu.com/view/0fffab761ed9ad51f01df2df.html \

  8. window server 2008 安装Oracle10g

    oracle安装都大同小异. 开始安装步骤 输入完之后点击下一步 这时候稍等一会儿. 这时候也要稍等一会儿. 直接安装. 设置口令管理,设置SCOTT的密码为tiger就好了. 这时候稍等一会儿. o ...

  9. 电子科技大学实验中学PK赛(三)-期末测试比赛题解

    比赛地址:http://qscoj.cn/contest/33/ A题 国家德比 分析:用b,d,B,D记录两场比赛两支球队的比分,先判断b+B与d+D的大小,如果先者大则拜仁胜,后者大则多特胜:相同 ...

  10. Mesos源码分析(8): Mesos-Slave的初始化

      Mesos-Slave的初始化在文件src/slave/slave.cpp里面     首先初始化资源预估器   初始化attributes   初始化hostname     初始化status ...