Tag: sharepoint

读取/过滤分发组的活动目录的子组?

我有一个域名为myDomain.local的Active Directory,在它下面存在一个包含许多组的通讯组。 如何(以编程方式)读取所有这些子组以检索其名称列表? 以及如何优化查询以过滤结果,以便它只检索以Region结尾的所有组? 顺便说一下,我正在使用C#.Net,ASP.Net和sharepoint,而且我没有AD经验。

慢WebClient.DownloadString?

我正在使用ASP.Net 3.5运行的Web应用程序 在应用程序的某个地方,我正在调用外部系统。 此调用包括从特定URL下载字符串: string targetUrl = BuildMyUrl(); WebClient wc = new WebClient(); string data = wc.DownloadString(targetUrl); 此代码在可接受的响应时间(低于500毫秒)下运行良好。 但是,在特定情况下,此响应时间超过15秒。 我可以重现行为,我可以清楚地看到长时间是在DownloadString调用。 我不明白为什么在我的场景中会发生这种情况 。 你会说:“嘿,这是目标系统很慢”。 但我无法重现我的应用程序之外的行为(我已经构建了一个隔离错误代码的小型控制台应用程序。永远不会遇到任何问题)。 我现在不知道在哪里了解这个问题。 什么会导致简单的下载数据冗长? 仅供参考:目标系统是身份validation服务。 目标url是实物: http S :// mysystem / validate?ticket = XXXYYY 也许https协议是个问题。 在IIS下使用WebClient类是否可以改变WebClient的行为? [编辑]我试过了: 要将WebClient对象的Proxy属性显式设置为null 我用这段代码替换了DownloadData调用: var req =(HttpWebRequest)WebRequest.CreateDefault(new Uri(targetUrl)); using(var response =(HttpWebResponse)req.GetResponse()){using(var sr = new StreamReader(response.GetResponseStream())){data = sr.ReadToEnd(); }} […]

如何提供凭据以在另一个域的服务器上执行查询?

我正在为他的域上有服务器的客户端工作。 我的工作站在我自己的域上。 我通常使用我的客户端域用户名和密码VPN进入客户端网络。 以下查询的问题是,当我执行查询时,我收到401 Unauthorized访问错误,可能是因为发送了错误的凭据。 客户端建议提供我的客户端域凭据,可能包含在#if DEBUG中,以便代码在开发环境中正常工作。 我如何提供凭证? 以下代码将出现在ASP MVC 2项目中。 ClientContext clientContext = new ClientContext(URL); List list = clientContext.Web.Lists.GetByTitle(“My Documents”); CamlQuery camlQuery = new CamlQuery(); camlQuery.ViewXml = XML; ListItemCollection listItems = list.GetItems(camlQuery); clientContext.Load( listItems, items => items.Include(item => item[“FileRef”])); clientContext.ExecuteQuery(); 我更喜欢以编程方式执行此操作

“项目不存在”错误读取SharePoint 2010列表

我在SharePoint 2010中有一个列表。如果我以编程方式(通过自定义webpart)将项目添加到列表中,我可以稍后阅读这些项目并在其他Web部件中显示它们。 但是,如果我尝试读取通过Web界面添加的列表项,我的webpart中会出现以下错误: 物品不存在。 您选择的页面包含不存在的项目。 它可能已被其他用户删除.x81020016 奇怪的是,在调试器中,我看到列表项已正确读取。 我把头发上留下的东西拉过来。 有任何想法吗? 以下是任何关心的人的答案: 我这样调用我的页面 – mywebpage.aspx?id = 1,其中id = 1是我希望我的webpart显示的列表中项目的ID。 由于某些只有Microsoft知道的原因,在查询字符串中使用’id’是禁止的。 所以我将param名称更改为’lid’,现在一切都像我期望的那样工作。 感谢大家的回复。

SharePoint Online身份validation失败

我有一个C#应用程序,它使用Web请求对SharePoint Online进行身份validation。 它适用于我,但其他人收到以下错误: S:Sender wst:FailedAuthentication Authentication Failure 0x80048821 0x80041034 The specified member name is either invalid or empty. 这个错误是什么意思? 我很确定他们输入了正确的用户名和密码。 是否有一个SharePoint Online错误代码列表,我可以找到哪些地方可以帮助我识别问题? 这是我的C#代码: var request = (HttpWebRequest)WebRequest.Create(@”https://login.microsoftonline.com/extSTS.srf”); request.AllowAutoRedirect = false; request.ContentType = @”application/json; odata=verbose”; request.CookieContainer = this.CookieContainer; request.Method = @”POST”; request.UserAgent = @”Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)”; string soapRequest = Strings.SharePointOnlineAuthenticationRequest […]

如何从On Premise SharePoint 2013和ADFS获取FedAuth Cookie

我使用Windows Server 2012 R2,ADFS和sharepoint 2013设置了测试环境。我可以使用ADFS作为声明身份提供程序成功登录到Sharepoint 2013。 现在我尝试从我的C#应用​​程序登录到Sharepoint。 我可以使用以下命令从adfs请求saml断言令牌。 现在,我想帮助将saml令牌发布到SharePoint并检索FedAuth cookie,以便我可以被动地登录到SharePoint 2013并从C#应用程序上载文档。 当我调用最后一个方法时PostSharePointSTS()没有设置Cookie。 大部分代码都是Leandro Boffi的帮助 [TestMethod] public void GetSamlTestMethod() { var client = new WebClient(); client.Headers.Add(“Content-Type”, “application/soap+xml; charset=utf-8”); string username = “Administrator@2012r2.local”; string password = “Password1”; string adfsServer = “https://logon.2012r2.local/adfs/services/trust/2005/UsernameMixed”; string sharepoint = “https://portal.2012r2.local/_trust/”; var samlRequest = GetSAML() .Replace(“[Username]”, username) .Replace(“[Password]”, password) .Replace(“[To]”, adfsServer) .Replace(“[applyTo]”, sharepoint); […]

SharePoint:按唯一ID获取SPListItem

我试图从唯一ID(GUID)获取SPListItem对象。 从查看几个站点(包括http://sharepoint400.blogspot.com/2011/04/using-spsitedataquery-to-find-list.html和http://www.chakkaradeep.com/post/Retrieving-an- Item-from-the-RootWeb-and-Subwebs-using-its-UniqueId.aspx )我想出了下面的代码。 const string QueryFormat = @” {0} “; SPSiteDataQuery query = new SPSiteDataQuery(); query.Webs = “”; query.Lists = “”; query.Query = string.Format(QueryFormat, itemUniqueId); query.RowLimit = 1; //query.ViewFields = “”; var results = SPContext.Current.Web.GetSiteData(query); 但是,无论如何……我似乎总是得到零行返回。 我不明白为什么,因为我知道我使用的Guids是正确的。 有任何想法吗?

WCF客户端错误:“未指定安全令牌颁发者的地址”

我从WCF客户端收到以下错误。 “未指定安全令牌颁发者的地址。必须在目标’http://site.com/TLAPI.svc’的绑定中指定显式颁发者地址,或者必须在凭据中配置本地颁发者地址。” 我正在尝试连接到SharePoint服务应用程序。 我添加了生成下面的客户端类的服务引用。 到目前为止,这是我的代码: TipAndLeadAPIContractClient client = new TipAndLeadAPIContractClient(@”CustomBinding_ITipAndLeadAPIContract”, @”http://site.com/TLAPI.svc”); client.ChannelFactory.Credentials.SupportInteractive = false; client.ClientCredentials.UserName.UserName = “user”; client.ClientCredentials.UserName.Password = “password”; client.ConvertToTLForm(@”C:\Clients\ServiceApplication\CAP\capsample1.xml”, “tl_library”, “http://site/”); 这是我的客户端绑定配置: 这是我的服务应用程序绑定配置: 提前致谢。

没有管理用户配置文件的Sharepoint UserProfileManager权限

我有一个问题让我有点疯狂:使用UserProfileManager作为非授权用户。 问题:用户没有“管理用户配置文件”权限,但我仍然想使用UserProfileManager。 使用SPSecurity.RunWithElevatedPrivileges的想法似乎不起作用,因为UserProfileManager似乎对SSP进行了授权。 SPSecurity.RunWithElevatedPrivileges(delegate() { using (SPSite site = new SPSite(inputWeb.Site.ID)) { ServerContext ctx = ServerContext.GetContext(site); UserProfileManager upm = new UserProfileManager(ctx,true); UserProfile u = upm.GetUserProfile(userLogin); DepartmentName = u[“Department”].Value as string; } }); 这仍然在“new UserProfileManager”行中失败,“您必须具有管理用户配置文件管理员权限才能使用管理员模式”例外。 据我所知,RunWithElevatedPrivileges还原为AppPool Identity。 WindowsIdentity.GetCurrent()。Name返回“NT AUTHORITY \ network service”,我已经给了该帐户管理用户配置文件的权利 – 没有运气。 site.RootWeb.CurrentUser.LoginName为RunWithElevatedPrivileges中创建的站点返回SHAREPOINT \ system,该站点不是有效的Windows帐户ofc。 有没有办法做到这一点? 我不想给所有用户“管理用户配置文件”权限,但我只想从用户配置文件(部门,国家,直接报告)中获取一些数据。 有任何想法吗?

Sharepoint PeopleEditor:如何找出返回的用户/组类型?

我有一个PeopleEditor: 它在页面上完美运行,即我可以选择AD用户,Sharepoint组和我想要的任何东西。 问题是我在PeopleEditor上找不到返回什么类型的用户/组的属性。 我们来看下面的例子: //User: John Doe – mycompany\jondoe is at position 0 //Sharepoint group: “All Site Users” is at position 1 PickerEntity pickerEntity1 = (PickerEntity).peopleEdit.ResolvedEntities[1]; // pickerEntity1.Key = “All Site Users” // pickerEntity1.Claim = null // pickerEntity1.DisplayText = “All Site Users” PickerEntity pickerEntity0 = (PickerEntity).peopleEdit.ResolvedEntities[0]; // pickerEntity1.Key = “mycompany\jondoe” // pickerEntity1.Claim = null // […]