我们的OSB服务目前使用用户名和密码进行保护.尝试使用svcutil生成服务代理时,我获得了401未授权.我知道您需要设置一个svcutil.exe.config文件,但除了传递证书的示例外,我找不到任何示例.
有人知道如何使用svcutil发送用户名和密码吗?
到目前为止,在我的研究中,我已经看到在GET请求操作上设置AllowUnsafeUpdates是不明智的,以避免跨站点脚本.但是,如果要求允许这样做,处理这种情况以减轻任何暴露的正确方法是什么?
如果您绝对需要在GET请求上允许Web或站点更新,这是我对可靠模式的最佳猜测.
最佳实践?
protected override void OnLoad(System.EventArgs e)
{
if(Request.HttpMethod == "POST")
{
SPUtility.ValidateFormDigest();
// will automatically set AllowSafeUpdates to true
}
// If not a POST then AllowUnsafeUpdates should be used only
// at the point of update and reset immediately after finished
// NOTE: Is this true? How is cross-site scripting used on GET
// and what mitigates the vulnerability?
}
// Point of item update
using(SPSite site = new SPSite(SPContext.Current.Site.Url, SPContext.Current.Site.SystemAccount.UserToken))
{
using (SPWeb web = site.RootWeb) …Run Code Online (Sandbox Code Playgroud) 在激活功能时,是否有人知道将资源文件部署到Web应用程序的App_GlobalResource文件夹的最佳方法?
我正在收到"没有端点监听net.pipe:// localhost"错误,如其他地方所述,但我似乎无法找到真正的答案.
这是问题的一个很好的标识:http: //kennyw.com/indigo/102
使用WCF时,Windows身份验证是通过SSPI-Negotiate执行的,在大多数情况下,它将选择Kerberos作为实际的身份验证机制.但是,如果传递给SSPI的目标SPN是本地计算机帐户的格式良好的SPN(例如主机/ [dns机器名称]),那么Negotiate将使用NTLM(环回优化),并且访问令牌将不具有网络SID(和因此可以与NetNamedPipes一起使用).
但它并没有告诉我如何解决这个问题.我以编程方式创建我的端点.
var binding = new NetNamedPipeBinding();
binding.Security.Mode = NetNamedPipeSecurityMode.Transport;
binding.Security.Transport.ProtectionLevel = ProtectionLevel.EncryptAndSign;
var id = EndpointIdentity.CreateSpnIdentity("host/" + Environment.MachineName);
var endpointAddress = new EndpointAddress(new Uri(serviceClientUrl), id);
var client = new ServiceClient(binding, endpointAddress);
Run Code Online (Sandbox Code Playgroud)
我猜我的问题出在CreateSpnIdentity中,但我不确定要使用什么值.
附加信息: 详细说明这一点以获取更多背景信息.Wcf服务作为在NetworkService帐户下运行的Windows服务托管(我尝试过本地系统).使用默认的NetNamedPipeBinding构造函数创建服务:
host.AddServiceEndpoint(typeof(IService), new NetNamedPipeBinding(), "ServiceName");
Run Code Online (Sandbox Code Playgroud)
我创建了一个使用此服务的SharePoint Webpart.问题是,如果SharePoint站点设置为基于表单的身份验证,或者只是在Windows身份验证下的URL中使用了计算机名称,那么就没有问题.仅当在Windows身份验证下将完全限定的计算机名用于URL时才会出现上述错误.
我很确定这与文章中描述的NTLM Kerberos问题有关,但我不确定如何绕过它.
我正在从输入中进行一些基本的文本匹配.我需要能够执行基本的"AND".对于"ANY",我用空格分割输入并用管道("|")字符连接每个单词,但我还没有找到一种方法来告诉正则表达式匹配任何单词.
switch (searchOption) {
case "any":
inputArray = input.split(" ");
if (inputArray.length > 1) { input = inputArray.join("|"); }
text = input;
break;
case "all":
inputArray = input.split(" ");
***[WHAT TO DO HERE?]***
text = input;
break;
case "exact":
inputArray = new Array(input);
text = input;
break;
}
Run Code Online (Sandbox Code Playgroud)
好像它应该很容易.
我是jQuery的新手...我已经多次使用过Javascript并且非常熟悉DOM操作,但根本不是jQuery的API或齿轮.
我通过JSON调用动态添加DOM元素,如下所示:
$(document).ready(function() {
var url = "jsonMenuItems.js";
$.getJSON(url, null, function(data) {
var html = "";
//alert(data.items);
data = data.items;
for (var key in data) {
html += "<td class=\"menuItem\"><span>" + data[key].name + "</span></td>";
};
$("#menuTR").html(html);
});
var lZeroArray = $("#menu td");
lZeroArray.click(function() {
$("#submenu").slideDown("fast");
});
});
Run Code Online (Sandbox Code Playgroud)
如果TD项目在页面上手动点击功能slideDown工作正常...如果我使用上面的代码动态添加TD项目,则单击功能slideDown不会触发.
jQuery找不到它自己添加的项目或者我做错了什么?
有没有人知道正确的关键字或查询属性带回来的网站?我正在尝试为SharePoint搜索Web服务创建SOAP QueryPacket,允许用户根据其标题或描述搜索站点.
我不希望在结果中返回任何文档或列表或列表项.
sharepoint ×3
wcf ×2
web-services ×2
getjson ×1
javascript ×1
jquery ×1
json ×1
osb ×1
regex ×1
resources ×1
spn ×1
spsite ×1
spweb ×1
svcutil.exe ×1