Gee*_*ets 9 c# asp.net authentication api rest
我正在学习使用AngularJS前端框架开发asp.net Web API.我已经对此进行了大量的研究了大约一个星期了.我已经阅读了关于oauth 2,owin和其他的内容.但现在困惑哪个更好.
我有几个问题,希望你们能帮助我.
1)在我的应用程序中 - 只有注册用户才能通过电子邮件和密码登录访问应用程序.有人可以指点我一个关于如何使用API创建良好的注册和登录身份验证的好资源或文章.这是足够安全的,因为我将收集用户数据并存储它们.
2)我需要什么类型的安全保护我的API,首先API将在防火墙后面,然后一个项目完成它将向世界开放?如果可能的话,请指出正确的方向.
请注意这不是一个重复的问题,我已经通过stackoverflow上的大部分帖子,并在我找不到答案后问这个.
对此有任何建议或帮助表示赞赏.
感谢您对此主题的所有努力
Vik*_*eni 28
您可以使用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.
你是否对Identity,OWIN,OAuth这两个术语感到困惑......这里是对它们的简要概述.
开发Asp.Net Identity是为了克服asp.net会员系统的问题.Asp.Net Identity允许我们使用不同的存储(表存储,无SQL),并允许我们使用外部身份提供程序,因为它使用OWIN.
OWIN将打破Ash.Net和IIS的紧密耦合.OWIN只是一个规范.Katana是微软的OWIN实现.OWIN位于http请求管道中.OWIN管道有中间件组件,我们可以提到外部登录机制.
创建OAuth是为了消除用户与第三方应用程序共享密码的需要.
注意: 这里Asp.Net Identity与OWIN,OAuth无关,反之亦然.它们是三个独立的概念.Asp.Net Identity是微软的实现.OWIN,OAuth是开放的标准概念.因为Microsoft已经实现了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 Identity,OAuth.因为我们使用基于令牌的身份验证,您可以发现帐户控制器中没有可用的登录方法.
当您使用令人敬畏的前端框架AngularJs时,您可以将承载令牌保存在本地存储中,并且您可以编写一个http拦截器服务,该服务负责为每个请求发送承载令牌.
这里注册用户由Asp.Net标识负责,默认情况下,OAuthAuthorizationServer负责认证用户,该服务器存在于Providers文件夹中.
我们收到的持票人代币并非针对特定客户,因此任何人都可以拦截它们.因此,仅在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净同一性/
| 归档时间: |
|
| 查看次数: |
16642 次 |
| 最近记录: |