
一、课程介绍
明人不说暗话,跟着阿笨一起玩WebApi!开发提供数据的WebApi服务,最重要的是数据的安全性。那么对于我们来说,如何确保数据的安全将会是需要思考的问题。在ASP.NET WebService服务中可以通过SoapHead验证机制来实现,那么在ASP.NET Core WebApi中我们应该如何保证我们的接口安全呢? 近年来RESTful API开始风靡,使用HTTP header来传递认证令牌似乎变得理所应当,而单页应用(SPA)、前后端分离架构似乎正在促成越来越多的WEB应用放弃历史悠久的cookie/session认证机制。本次分享课程阿笨将给大家分享一种API常用的基于Redis来实现Token接口身份安全验证!
1.1、正确的学习课程方式须知
1)、视频+实例源代码配套学习,一千个读者就有一千个哈姆雷特,仁者见仁智者见智!
2)、基础理论和实战演练相结合,切记眼高手低。(备注:需要有一定的ASP.NET Core基础,本课程不是零基础教学,课程侧重是实战演练,因此需要大家结合自身的实际情况进行选择学习)
3)、在学习的过程中,我们少一点抱怨,将多一份收获。
如果您在学习过程中遇到任何的课程问题,请先私下直接找阿笨老师进行在线的沟通和交流。谢谢大家的理解和支持,预祝大家学习快乐!
1.2、本课程适合人群如下:
1)、有一定的ASP.NET Core开发基础。
2)、学习和了解ASP.Net Core跨平台开发技术。
3)、喜欢阿笨分享的干货课程童鞋们。
1.3、一句话总结今天我们学习达到的目标:
如何使用ASP.NET Core WebApi基于Redis实现Token接口身份安全验证。
如果您同样对本次分享《ASP.NET Core WebApi基于Redis实现Token接口认证》课程感兴趣的话,那么请跟着阿笨一起学习吧。废话不多说,直接上干货,我们不生产干货,我们只是干货的搬运工。
二、什么是认证和授权
认证 (authentication) 就是客户端要给服务器出示一些自己的身份证明,来证明自己是谁!一旦服务器知道了客户端的身份,就可以判定客户端可以访问的事务和资源了。在HTTP中,认证通常是通过提供用户名和密码来进行认证的。目前WEB 前后端分离的开发模式比较流行,最常用的实现方式就是通过HTTP的Header传递token实现接口身份认证!
授权 (authorization)就是“授权”则是授权机构向授权对象授予某种资源的访问权利。
身份认证和授权区别如下:
身份验证用来确定一个用户的身份。例如,zhangsan用他的用户名和密码登陆系统,服务器用她的用户名和密码来确定她的身份。
授权是判断一个用户是否允许执行某一操作。例如,zhangsan有获取资源的许可,但不能创建资源。
三、WebApi基于Redis实现Token接口认证实现原理讲解
3.1、基于分布式Session方式实现Token认证基本思路如下:

ASP.NET Core WebApi基于Redis实现Token接口认证
基本流程上是这样的:
●用户使用用户名密码来请求服务器。
●服务器进行验证用户的信息。
●服务器通过验证发送给用户一个token。
●客户端存储token,并在每次请求时附送上这个token值。
●服务端验证token值,并返回数据。
四、实战源码在线解读和演示


五、总结
1、ASP.NET Core WebAPI如何保证客户端以安全的方式进行访问
ASP.NET WebAPI 如何保证接口的安全?先说一下何为安全?我们需要解决什么问题?
调用安全:由于WebAPI 是暴露在公网中,怎么防止非法用户调用我们的服务呢?因此我们需要解决:认证问题。
数据传输安全:由于我们的数据都是通过明文在网络上进行传输很容易被窃取到。因此我们需要解决:数据被窃取问题。
以上解释仅仅是阿笨狭义的理解;网络安全还包括很多方面,会话劫持、会话被篡改等等。
总结:我们可以通过Token验证机制来保证WebAPI 的认证安全;可以通过HTTPS来保证数据的加密,防止网络侦听!
2、关于调用方的Token存放在哪里?
如果在前端Web页面(B/S架构),一般将其存储在Cookie或localStorage中。
如果是后端系统(C/S架构),则放在内存或DB数据库中或者分布式存储Redis中。
希望本次分享课程能够让大家有所收获!最后送大家一句话:希望大家在.NET Core的学习道路上一直跟着阿笨坚持下去。

腾讯课堂

网易云课堂

不信的话,扫一扫




