WCF RESTful Web API 应如何做认证?

问题描述

用WebHttpBinding,控制台做自我寄宿。请入如何对客户端发起的请求做合法性验证?

解决方案

解决方案二:

解决方案三:
请求做合法性验证,无非就是:一、用户身份验证(Authentication)。二、权限验证(Authorization),即该用户可以发该请求。一般WebApi中,服务器收到请求后会发送401,要求客户进行验证(该例要求Basic验证):HTTP/1.1401AccessDeniedWWW-Authenticate:Basicrealm="Acme"Content-Length:0客户收到401后,会在随后的各种请求中,加入Authorizationheader,表明身份:GET/importantFiles/HTTP/1.1Host:acme.comAuthorization:BasicaHR0cHdhdGNoOmY=服务器从Authorization头中读取信息,得到用户名和密码,并验证用户。如果验证通过,则判断该用户是否有接触比如importantFiles信息的权限,然后返回信息。如果验证不通过,则可以返回http403。具体的例子和代码可以参考:http://www.asp.net/web-api/overview/security/authentication-and-authorization-in-aspnet-web-api
解决方案四:
WCFREST是个比较诡异的东西,如果可以的话,还是用WebAPI吧
解决方案五:
用mvcwebApi吧
解决方案六:
我是自己写的,每条请求客户端都通过USB硬件芯片生成不一样的密文,不过这与wcf无关,但我也用在wcf项目中了。

时间: 2024-11-03 21:59:14

WCF RESTful Web API 应如何做认证?的相关文章

我所理解的RESTful Web API [设计篇]

<我所理解的RESTful Web API [Web标准篇]>Web服务已经成为了异质系统之间的互联与集成的主要手段,在过去一段不短的时间里,Web服务几乎清一水地采用SOAP来构建.构建REST风格的Web服务是最近两三年风行的潮流,所以很多人以为REST是一个事物.而事实却是:REST自其诞生之日起到现在(2014年)已经有14年了,它为什么叫这么一个"奇怪"的名字呢? 目录 一.为什么叫这个"奇怪"的名字?二.采用URI标识资源 二.采用URI标识

WCF 、Web API 、 WCF REST 和 Web Service 的区别

The .Net framework has a number of technologies that allow you to create HTTP services such as Web Service, WCF and now Web API. There are a lot of articles over the internet which may describe to whom you should use. Now a days, you have a lot of ch

我所理解的RESTful Web API [Web标准篇]

REST不是一个标准,而是一种软件应用架构风格.基于SOAP的Web服务采用RPC架构,如果说RPC是一种面向操作的架构风格,而REST则是一种面向资源的架构风格.REST是目前业界更为推崇的构建新一代Web服务(或者Web API)的架构风格.由于REST仅仅是一种价格风格,所以它是与具体的技术平台无关的,也就是说采用REST架构的应用未必一定建立在Web之上,所以在正式介绍REST之前,我们先来简单认识一下Web. 目录 一.TCP/IP与HTTP 二.Web资源       媒体类型   

使用 Swagger UI 与 Swashbuckle 创建 RESTful Web API 帮助文件

作者:Sreekanth Mothukuru 2016年2月18日 本文旨在介绍如何使用常用的 Swagger 和 Swashbuckle 框架创建描述 Restful API 的交互界面,并为 API 用户提供丰富的探索.文件和操作体验. 源代码: 下载 SwaggerUi_2.zip 步骤 在本文中,我们将在 Asp.Net 创建一个简单的 Restful API,并整合 Swashbuckle 和 Swagger UI.本文分为三部分. 创建 Asp.Net Web API项目 通过实体数

[转]RESTful Web API中的Http协议语义

术语 在讲Http协议语义之前,我们先讲两个术语:资源和资源表述. 资源(Resource) 在REST的世界中,每种事物,比如一个产品.一个用户或是一个网页都被视为资源(Resource). 资源表述(Representation of the resource) 当浏览器为一个资源发送了HTTP请求后,服务器会发送一个文档作为回应,通常会是一个HTML文档,又或是图片.视频等.不论服务器返回了什么文档,我们都将这个文档称为资源表述(representation of the resource

WCF Web Api

什么是WCF Web Api ? 越来越多的互联网应用向外开放他们的功能,例如Flickr,Twitter和Facebook,国内也掀起了开放的浪潮.处理这些社会化的应用外,企业的组织也在暴露企业的应用功能.WCF Web API允许开发人员通过HTTP开放他们的应用程序.数据和服务.这允许开发人员可以充分利用HTTP作为应用程序的协议,应用程序可以和丰富的客户端进行交互,不仅仅是浏览器.移动设备.桌面应用还是其他的后端服务.他们还可以利用网络的高速缓存和代理的基础设施,通过提供适当的控制和实体

ASP.NET Web API(二) 安全验证之使用HTTP基本认证

在前一篇文章ASP.NET Web API(一):使用初探,GET和POST数据中,我们初步接触了微软的REST API: Web API. 我们在接触了Web API的后就立马发现了有安全验证的需求,所以这篇文章我们先来讨论下 安全验证一个最简单的方法:使用HTTP基本认证. HTTP基本认证原理 在HTTP协议进行通信的过 程中,HTTP协议定义了基本认证过程以允许HTTP服务器对WEB浏览器进行用户身份认证的方法,当一个客户端 向HTTP服务器进行数据请求时,如果客户端未被认证,则HTTP

【ASP.NET Web API教程】2.3 与实体框架一起使用Web API

原文:[ASP.NET Web API教程]2.3 与实体框架一起使用Web API 2.3 Using Web API with Entity Framework 2.3 与实体框架一起使用Web API 本小节是ASP.NET Web API第2章的第3小节,原文共分为7个部分,分成了7篇文章,故这里也分为7个帖子贴出,以下是本小节的第1部分 - 译者注. Part 1: Overview and Creating the Project 第1部分:概述及创建项目 本文引自:http://w

[ASP.NET MVC 小牛之路]18 - Web API

原文:[ASP.NET MVC 小牛之路]18 - Web API Web API 是ASP.NET平台新加的一个特性,它可以简单快速地创建Web服务为HTTP客户端提供API.Web API 使用的基础库是和一般的MVC框架一样的,但Web API并不是MVC框架的一部分,微软把Web API相关的类从 System.Web.Mvc 命名空间下提取了出来放在 System.Web.Http 命名空间下.这种理念是把 Web API 作为ASP.NET 平台的核心之一,以使Web API能使用在