草庐IT

spring-security-rest

全部标签

c# - REST API token 认证

我刚刚开始在.NET中开发我的第一个RESTAPI。由于它将是无状态的,我将使用token进行身份验证:基本思想(System.Security.Cryptography):AES加密+HMACSHA256完整性token数据将包含具有属性的对象:用户名、发行日期和超时数据库将保存用户名、哈希密码和HMAC哈希登录:检查凭据是否有效(用户名,将散列密码与数据库值进行比较)如果为真,加密数据对象在生成的token上使用HMAC并将其存储到数据库将token(无HMAC)返回给用户(cookie/字符串)请求需要身份验证的方法:用户在每个请求中发送tokentoken已解密如果过期了,报错

c# - REST 标准 - 输出模型是否应该始终匹配输入模型?

所以我有要求部分输出模型必须包含UI重要信息。这些信息本质上是文本翻译和日期、价格、长度的建议格式。因此,输出模型的示例可能是:{statuses:{enumValue1:"DisplayThisText",enumValue2:"DisplayThisText2",},thePrice:{value:3.50,formattedValue:"$3.50"},length:{meters3,formattedValue:"3ft."},iAmAPropertyOnlyInGet:42}现在,如果我将其作为输出模型,那么使用完全不同的输入模型是否“可以”?{status:{enumVal

c# - 具有 System.Security.Claims 的 .NET Framework 中的复杂声明值

我正在开发一个使用Asp.Net5MVC、Owin和Oauth2不记名token作为身份验证类型的网络应用。在thisguide添加自定义复杂声明Json并成功序列化到Microsoft.IdentityModel.Claims.ClaimsIdentity实例之后,我尝试使用System.Security.Claims命名空间上的ClaimsIdentity复制相同的示例。不幸的是,似乎在complexClaim实例中添加了一个ClaimsIdentity,派生类的类型信息丢失了,声明存储为一个System.Security.Claims.Claim。varcomplexClaim=

c# - RESTful 网络服务

我是RESTful网络服务的新手。我们正在采用REST路线来构建我们的公共(public)Web服务,供我们的客户使用。我有几个问题。纯REST网络服务是否有任何限制?如果是,那么混合RESTWeb服务会解决这些限制吗?我正在考虑在授权header中使用SSL+哈希消息身份验证代码(HMAC)以确保安全性以及基于IP的过滤。大家怎么看呢?有没有好的客户端测试工具?目前我正在使用以下http://code.google.com/p/rest-client/那么某种客户端代码生成工具呢?以下链接是我的信息来源。http://msdn.microsoft.com/en-us/library/

c# - 如何使用 JSON 从 WCF REST 服务返回 Base64 编码的字节数组?

我有一个简单的WCFREST方法,它将返回字节数组中的图像/文件/等:[OperationContract][WebGet(UriTemplate="TestMethod")]byte[]TestMethod();服务契约绑定(bind)到具有以下行为的webHttpBinding:该方法工作正常,除了字节数组的格式如下:[25,15,23,64,6,5,2,33,12,124,221,42,15,64,142,78,3,23]如果我删除属性defaultOutgoingResponseFormat="Json",该服务默认为XML格式,并且结果在Base64中编码如下:GQ8XQAY

c# - SSL 网络服务 : Could not create SSL/TLS secure channel

我的C#.net应用程序正在使用HTTPS网络服务。由于证书现在即将过期,我正在尝试用我得到的新证书更新它(一个.jks文件,我使用javasdks的keytool将其转换为.p12)。我认为这很容易,因为我知道该怎么做,但它就是不合作。到目前为止我做了什么:将证书导入到CURRENT_USER\Personal导入证书到LOCAL_MACHINE\Personal给定正确的用户(apppoolidentity)通过winhttpcertcfg工具访问证书的私钥。以下是权限列表用于证书。使用findprivatekey工具,我还找到了实际的key文件,并授予apppoolidentit

c# - 语句 "delegates are secure"是什么意思?

在C#documentation对于委托(delegate),它说“委托(delegate)是一种引用类型,可用于封装命名或匿名方法。委托(delegate)类似于C++中的函数指针;但是,委托(delegate)是类型安全的并且安全”我的问题是,委托(delegate)“安全”是什么意思? 最佳答案 委托(delegate)强制对方法进行类型安全调用。这通常通过编译器执行的静态类型检查来工作。但这不是唯一的方法,您可以使用Delegate.DynamicInvoke()来绕过编译器类型检查。一个例子:usingSystem;cla

c# - 不知道如何创建 SOAP <wsse :Security> header

我几乎没有使用SOAP协议(protocol)的经验。我需要连接到所需header的服务。我认为这在Java中有点标准,但在C#中必须手动创建此header。这里有没有人能够连接到类似的服务:已经创建了标题或者甚至可能知道一些可以简化标题创建的标准库?您可以分享一些代码或引用资料吗?我还发现了一个线索,如果使用WS2005可能会生成header,因为它有WS3插件。有人可以对此发表评论吗?快速查看此插件后,我发现了与安全header中类似的字段,但仍然无法创建header。 最佳答案 我们可以用下面的代码解决这个问题:publicc

c# - 为什么我不能在 WCF REST POST 方法中使用两个参数?

我有契约(Contract):[OperationContract][WebInvoke(Method="GET",ResponseFormat=WebMessageFormat.Xml,UriTemplate="GetCategoriesGET/{userIdArg}",BodyStyle=WebMessageBodyStyle.Bare)]ListGetVideosGET(stringuserIdArg);[WebInvoke(Method="POST",UriTemplate="evals")][OperationContract]voidSubmitVideoPOST(Vide

c# - WCF Restful返回HttpResponseMessage想在设置内容时进行协商

我有一个WCFRestful服务,我想要返回HttpResponseMessage的方法,因为它看起来是结构化的,而不是仅仅返回数据或异常或任何其他可能到达那里的东西。我假设这是正确的,如果不让我知道,但我的问题是当我尝试设置HttpResponseMessage.Content时会发生什么。当我这样做时,我在其中进行RESTful调用的客户端请求身份验证。这是我的代码:在界面中:[WebGet(UriTemplate="/GetDetailsForName?name={name}",ResponseFormat=WebMessageFormat.Json)]HttpResponseM