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逐步搭建实现过程!