我的角度应用程序中已经有身份验证时,是否需要在Web API中进行身份验证

时间:2019-02-10 19:19:22

标签: angular api authentication asp.net-web-api cors

我正在构建一个有角度的应用程序。我正在检查用户的角色,然后在他登录后是否进行身份验证。我正在使用Web API。是否还需要针对每个用户对Web API调用进行身份验证,还是仅对该URL启用了CORS?

1 个答案:

答案 0 :(得分:2)

是的,这是必需的,如果您拥有无法被他人访问的敏感用户数据,仅启用CORS是不够的

有些工具可让您编辑请求并伪造原产地。因此,如果您在API调用中没有身份验证方法,则外部设备无需访问源就可以访问API,而无需登录。有关该帖子的更多信息:https://medium.com/netscape/hacking-it-out-when-cors-wont-let-you-be-great-35f6206cc646

引用其他帖子here

  

请记住:CORS不是安全的。不要依靠CORS来保护您的   现场。如果您要提供受保护的数据,请使用Cookie或OAuth令牌   或除Origin标头以外的其他内容以保护该数据。的   CORS中的Access-Control-Allow-Origin标头仅指示哪个起源   应该被允许发出跨域请求。不要依赖它   还有什么。

也就是说,如果必须在应用程序和服务器之间交换数据,则必须在每次登录后以安全的方式对用户进行身份验证,而无需存储密码。为此,您可以使用Sessions或JWT(有关JWT的一个不错的指南是:http://jasonwatmore.com/post/2018/05/23/angular-6-jwt-authentication-example-tutorial