加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 用户登录认证与Restful asp.net Web api和安全API

发布时间:2020-12-15 06:27:04 所属栏目:百科 来源:网络整理
导读:我正在学习用AngularJS前端框架开发asp.net Web API.我已经做了大量的研究大约一个星期了.我已经阅读了关于oauth 2,owin等.但现在困惑哪个更好. 我有几个问题,希望你们可以帮助我. 1)在我的应用程序中 – 只有注册用户才能通过使用电子邮件和密码登录访问应
我正在学习用AngularJS前端框架开发asp.net Web API.我已经做了大量的研究大约一个星期了.我已经阅读了关于oauth 2,owin等.但现在困惑哪个更好.

我有几个问题,希望你们可以帮助我.

1)在我的应用程序中 – 只有注册用户才能通过使用电子邮件和密码登录访问应用程序.有人可以请我指出一个关于如何使用API??创建良好的注册和登录身份验证的好资源或文章.它足够安全,因为我将收集用户数据并存储它们.

2)什么类型的安全我需要保护我的API,首先API将在防火墙后面,然后一个项目完成它将是开放给世界的?如果可能的话也请指点正确的方向.

请注意,这不是一个重复的问题,我已经通过stackoverflow的大部分帖子,并询问这个,我找不到答案.

任何建议或帮助,这是赞赏.

感谢您对此主题的所有努力

解决方法

您可以使用基于令牌的身份验证,使用Asp.Net Web API 2,OWIN,Asp.Net Identity和AngularJS.

Asp.Net Web API现在完全支持OWIN. Katana是微软的OWIN实现.

Asp.Net Web API现在支持使用OAuth 2.0进行授权.使用Microsoft OWIN组件可以实现OAuth.

您是否与“身份”,“OWIN”,“OAuth”这个术语混淆,这里是他们的简要概述.

Asp.Net身份是通过asp.net会员制来解决问题的. Asp.Net Identity允许我们使用不同的存储(表存储,没有SQL),并允许我们在使用OWIN时使用外部身份提供者.

OWIN是打破紧密耦合b / w Asp.Net和IIS. OWIN只是一个规范. Katana是Microsoft的OWIN实施. OWIN位于http请求管道中. OWIN管道有中间件组件,我们可以提到外部登录机制.

创建OAuth是为了消除用户与第三方应用程序共享密码的需要.

注意:
这里Asp.Net身份与OWIN,OAuth无关,反之亦然.它们是三个独立的概念. Asp.Net Identity是Microsoft的实现. OWIN,OAuth是开放的
标准概念.由于微软已经实施OWIN,OAuth成为可能.

因此,Web API 2使用OAuth承载令牌而不是表单认证cookie,这在Web API世界中更为正确.因为它允许使用各种终端用户设备,如移动设备.

在您的情况下,您可以使用visual studio 2013中提供的默认模板.
1.创建新项目并选择Asp.Net Web应用程序.
2.选择Web API或SPA模板.
3.更改身份验证并选择单个用户帐户.
4.单击确定.

现在,默认情况下配置所有内容,以便使用OWIN,Asp.Net身份,OAuth.因为我们使用基于令牌的身份验证,您可以发现帐户控制器中没有可用的登录方法.

>要注册用户,请使用AccountController中的Register方法
>要登录,您需要以以下格式发布数据
http://example.com/token(可以在StartUp.Auth.cs中配置)
grant_type =密码&安培;用户名=爱丽丝&安培;密码= password123
>登录后,我们收到承载令牌,我们需要用授权头发送每个请求访问受保护的资源.

当您使用令人敬畏的前端框架AngularJs时,您可以将本地存储中的承载令牌保存起来,您可以编写一个http拦截器服务,该服务负责每个请求发送承载令牌.

注册用户的注意事项由Asp.Net身份认证,默认情况下,提供者文件夹中存在OAuthAuthorizationServer,认证用户被认证.

承载令牌,我们收到的不是针对特定的客户端,所以任何人都可以拦截它们.所以只能通过SSL使用它们.

请通过这个链接

http://www.asp.net/web-api/overview/security/individual-accounts-in-web-api
http://bitoftech.net/2014/06/09/angularjs-token-authentication-using-asp-net-web-api-2-owin-asp-net-identity/

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读