问题描述
用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