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. 安装使用eclipse

    安装使用eclipse 目标 java学习需要,老师说要安装eclipse,,其实已经下了IDEA了,不过还是听老师的比较好( 准备 jre 也就是java运行环境,因为之前就下了jdk(里面包含jr ...

  2. SharePoint Column Format

    https://docs.microsoft.com/en-us/sharepoint/dev/declarative-customization/column-formatting . { &quo ...

  3. 漏测BUG借鉴

    2. websocket: 用户频繁刷新,后台每次请求新的排队,内存溢出 1. websocket: 北京中心连接正常,外地中心,连接超时,应考虑到外地延迟问题

  4. CSS-默认padding 和 margin

    一.h1~h6标签:有默认margin(top,bottom且相同)值,没有默认padding值. 在chrome中:16,15,14,16,17,19; 在firefox中:16,15,14,16, ...

  5. framework7 入门(基础布局)

    个人认为framework7是个很好的移动端框架,自带路由.下拉刷新.无限加载.时间线.各种dialog.环形图等,基本能满足大部分app的需求,可以和vue,webpack 等各种搭配. 这里讲一下 ...

  6. CFUpdate高速模式下出现Error #2038提示的解决方案

    使用CFUpdate上传文件,在IE模式下是正常的,切换到高速模式下出现提示Error #2038错误,文件无法上传. 向作者了解到需要设置challs_flash_update函数中的a.url为绝 ...

  7. Docker的基本概念

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何 ...

  8. Tomcat 集群中 实现session 共享的三种方法

    前两种均需要使用 memcached 或 redis 存储 session ,最后一种使用 terracotta 服务器共享. 建议使用 redis ,不仅仅因为它可以将缓存的内容持久化,还因为它支持 ...

  9. Angularjs中的缓存以及缓存清理

    写在最前面:这篇博文是2篇文章组成,详细介绍了Angularjs中的缓存以及缓存清理,文章由上海尚学堂转载过来,欢迎大家阅读和评论.转载请注明出处,谢谢! 一个缓存就是一个组件,它可以透明地储存数据, ...

  10. css清除浮动的3种方式

    前言: 当不给父元素设置宽高时,父元素的宽高会被子元素的内容撑开.但当子元素设置浮动属性(float) 后, 子元素会溢出到父元素外,父元素的宽高也不会被撑开,这称之为“高度塌陷”.可以理解为使用浮动 ...