是的,我知道你在想什么 - 还有另一个CORS问题,但这次我很难过.
所以要开始,实际的错误信息:
XMLHttpRequest无法加载http://localhost/Foo.API/token.当请求的凭据模式为"include"时,响应中"Access-Control-Allow-Origin"标头的值不能是通配符"*".因此不允许来源' http:// localhost:5000 '访问.XMLHttpRequest发起的请求的凭据模式由withCredentials属性控制.
我不确定凭证模式的含义是'包含'?
所以当我在邮递员中执行请求时,我没有遇到这样的错误:
但是当我通过我的angularjs网络应用程序访问相同的请求时,我被这个错误所困扰.这是我的angualrjs请求/回复.你会看到响应OK 200,但我仍然收到CORS错误:
小提琴请求和响应:
下图演示了Web前端到API的请求和响应
所以基于我在网上阅读的所有其他帖子,看起来我做的是正确的,这就是为什么我无法理解错误.最后,这是我在angualrjs(登录工厂)中使用的代码:
API中的CORS实现 - 参考目的:
方法1使用:
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
EnableCrossSiteRequests(config);
}
private static void EnableCrossSiteRequests(HttpConfiguration config)
{
var cors = new EnableCorsAttribute("*", "*", "*")
{
SupportsCredentials = true
};
config.EnableCors(cors);
}
}
Run Code Online (Sandbox Code Playgroud)
方法2使用:
public void Configuration(IAppBuilder app)
{
HttpConfiguration config = new HttpConfiguration(); …Run Code Online (Sandbox Code Playgroud) 我正在尝试将WSSE SOAP Header添加到我的服务调用中,但大多数示例都集中在WCF上.我没有使用WCF.我添加了一个Web引用(WSDL).
我尝试了各种方法但没有成功,比如 - 覆盖GetWebRequest方法:
protected override System.Net.WebRequest GetWebRequest(Uri uri)
{
string user = "username";
string pwd = "password";
System.Net.WebRequest request = base.GetWebRequest(uri);
string auth = string.Format("Basic {0}", Convert.ToBase64String(System.Text.Encoding.Default.GetBytes(string.Format("{0}:{1}", user, pwd))));
request.PreAuthenticate = true;
request.AuthenticationLevel = System.Net.Security.AuthenticationLevel.MutualAuthRequested;
request.Headers.Add(HttpRequestHeader.Authorization, auth);
return request;
}
Run Code Online (Sandbox Code Playgroud)
WSSE安全标题应类似于以下内容:
<Security xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<UsernameToken>
<Username>username</Username>
<Password>password</Password>
</UsernameToken>
</Security>
Run Code Online (Sandbox Code Playgroud)
提前谢谢了!亲切的问候,
我目前正在尝试使用 SoftHSM(在 Windows 平台上)。目标是在客户端和 HSM 服务器之间建立通信通道,以便可以在服务器端加密一些数据并发送回调用客户端。
我从这个站点下载了一个:https : //www.opendnssec.org/download/
此外,我按照本页所述的文档进行操作:https : //wiki.opendnssec.org/display/SoftHSMDOCS/SoftHSM+Documentation+Home - 但除了创建几个插槽之外,我还没有做对任何事情.
我运行以下命令来创建插槽:
softhsm --init-token --slot 0 --label "My token 1"
Run Code Online (Sandbox Code Playgroud)
我不确定如何从这里开始,我找不到有关该主题的任何有用信息/教程。我想我应该从小处着手,尝试创建一个与 SoftHSM 通信的服务器应用程序......我为所有 n00b 问题道歉!
我正在努力找到关于我的CTE的正确逻辑.
一些背景资料:
系统中为具有销售角色的所有成员生成任务.这基本上会在我的Task表中插入多条记录.任务表包括以下列:AssignedTo和RequestedBy- 其中AssignedTo将有每个销售成员Id.目前所有销售人员都可以看到该任务,因为没有人声称它:
ApprovalStatusId EntityType EntityId AssignedTo RequestedBy
18 | FooBar | 281 | 4 | 6
18 | FooBar | 281 | 9 | 6
18 | FooBar | 281 | 17 | 6
18 | FooBar | 281 | 26 | 6
18 | FooBar | 281 | 39 | 6
Run Code Online (Sandbox Code Playgroud)
现在已经为每个销售人员生成了一个任务,其中一个任务无关紧要,谁可以对任务做出反应,这将改变AssignedTo任务状态和任务状态:
ApprovalStatusId EntityType EntityId AssignedTo RequestedBy
18 | FooBar | 281 | 4 | 6
18 …Run Code Online (Sandbox Code Playgroud) 背景资料:
我有一个人像表,其中包含人像。图像以base64编码(限制为128 x 128)。因此,您可以通过API进行调用,以返回所有人员数据。可能有10条记录或1000条记录(可以选择分页)。对于响应中的每个base64字符串,大小大约为40k字节。因此,如果您要加载100条记录,那么数据包的大小将非常大,要考虑到每个人记录还会返回其他数据。
题:
是否最好的做法是在json响应中返回base64编码的图像,还是应该使用URL链接?
抱歉,如果这是重新发布,但我确实查看了“ 类似问题”部分,但找不到任何能回答我问题的内容。
提前谢谢了!
c# ×2
angularjs ×1
asp.net-mvc ×1
c#-4.0 ×1
cors ×1
encoding ×1
javascript ×1
json ×1
rest ×1
security ×1
soap ×1
softhsm ×1
sql-server ×1
windows ×1