自签名ASP.NET Web API 2 REST服务的令牌身份验证和授权
我正在使用VS2013和Web API 2使用令牌身份验证通过SSL创建自托管(使用OWIN),RESTful服务.虽然我不是新手开发人员,但这是我第一次看到ASP.NET技术,所以请记住这一点.
除了身份验证和授权部分之外,我已经或多或少地工作了.我完全理解对用户(谁是这个用户?)进行身份验证和授权已经过身份验证的用户访问资源(该用户是否可以访问此特定资源?)的区别. 我的auth过程的一个非常简单的概述如下(为简洁起见做了一些假设): >未知客户端连接到API,例如获取api /值. 正如您所看到的,这是一个相对简单的过程,但我找不到任何具体而简单的示例来了解如何使用自托管Web API 2实现此目标. 我不需要注册用户或进行任何密码/角色管理等,也没有外部认证.所有有效用户都拥有访问资源的相同权限,并且他们已经在系统中通过我无法控制的单独进程创建(我只能读取他们的凭据进行验证).我发现的大多数示例都是讨论我不需要的安全框架,所以我排除了以下任何一种:基本身份验证,Windows身份验证,表单身份验证,个人帐户,ASP.NET成员身份/身份,OAuth,Thinktecture或任何其他安全框架. 我已经阅读了有关在消息处理程序中进行身份验证的文章以及其他有关在自定义Authorize属性过滤器中进行身份验证的文章,而其他人甚至建议我应该使用新的(在Web API 2中)IAuthenticateFilter属性.这非常令人困惑.您能否以一种非常简单的方式来建议我的目标?任何特定的代码示例都将非常受欢迎,即使它们只是骨架实现或伪代码.我只需要一些想法让我开始. 解决方法
经过大量的谷歌搜索,我在CodeProject:
http://www.codeproject.com/Articles/630986/Cross-Platform-Authentication-With-ASP-NET-Web-API上发现了这篇文章.虽然这不是Web API 2或自托管,但它给了我一些关于如何继续的想法.
有人还发表了一篇评论,引用了一篇引用NuGet包的CodeProject文章,这篇文章可能会引起任何寻找类似内容的人的兴趣:https://www.nuget.org/packages/WebApiTokenAuth.就我而言,它有点多了. 最后,除了问题中提到的身份验证选项之外,如果使用OWIN进行自托管(根据官方的MS推荐),还可以选择编写OWIN中间件来进行身份验证.但是,我计划使用消息处理程序实现这种特殊形式的令牌认证,因为与编写OWIN中间件相比,这种方法的支持更多. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 实现一个基于动态代理的 AOP
- asp.net – 检查是否在集成管道模式
- asp.net – C#如何在GridView上创建Hyperlink OnClick事件?
- 如何最好地生成CSV(逗号分隔的文本文件)以便下载ASP.NET?
- asp.net-mvc-3 – 专门针对Azure的代码?
- asp.net – 当引发CacheItemRemovedCallback时,HttpContext
- asp.net-mvc – 如何在asp.net MVC 4和Razor视图中显示路径
- ASP.NET设计网络硬盘之删除文件夹实现代码
- asp.net-mvc-3 – 一个窗体中的多个提交输入
- asp.net-mvc – Fluent验证与默认的.NET数据注释相比有什么
- [你必须知道的.NET] 第二回:对抽象编程:接口和
- asp.net – 实体框架MVC慢页面加载
- asp.net – CompositeControl中的DropDownList是
- asp.net-mvc – Razor视图引擎优于其他视图引擎的
- asp.net – 脚本控件不是注册的脚本控件
- asp.net-mvc-3 – OutputCache属性和jQuery Ajax
- ASP.NET MVC与Webforms:替换WebForms控件
- asp.net-mvc – 以下多租户应用程序示例(MVC Nin
- 使用母版页在ASP.NET应用程序上切换语言
- asp.net-mvc – Razor – @ Html.Raw()仍在编码&