Tag: sharepoint

根据本地安全策略validation新的AD密码?

我想允许当前用户更改其密码(通过活动目录管理)。 我想validation然后在Active Directory中设置他们的密码(目前使用SetPassword调用方法 )。 我的问题是validation密码,以满足复杂性要求: 不包含用户的帐户名称或超过两个连续字符的用户全名部分长度至少为六个字符包含以下四个类别中的三个字符:英文大写字母(A到Z)英文小写字母(a到z) )基本10位数(0到9)非字母字符(例如,!,$,#,%)在更改或创建密码时强制执行复杂性要求。 我已经在使用带有两个文本框的CompareValidator ,所以我在考虑添加一个RegularExpressionValidator ( 源1 , 源2 ),但我不知道如何让它与整个“四个类别中的三个”一起工作: RegularExpressionValidator revComplex = new RegularExpressionValidator(); revComplex.ControlToValidate = _txtPassword1.ID; revComplex.ErrorMessage = “Password must have at least 7 characters. Characters should be from at least three of the following four groups: uppercase letter, lowercase letter, digit, or special characters (for example, !, $, […]

通过openFileDialog打开Web文件夹(Sharepoint 2007)

我有以下用C#编写的代码片段: openFileDialog1.InitialDirectory = “\\\\fwm-storage\\users\\” + curUser + “\\My Documents\\My Pictures”; openFileDialog1.Filter = “All Files (*.*)|*.*|Images (*.jpg)|*.jpg”; openFileDialog1.FilterIndex = 2; // blah, blah, blah 哪个很好用,但是,我希望能够添加/更改将openFileDialog.InitialDirectory作为我们的SharePoint服务器上的Web文件夹的function。 比如说:“http:\ intranet \ company \ division \ photos” 任何人都对如何做到这一点有任何想法。 我已经筋疲力尽了早上寻找答案,而我的GoogleFu显然没有达到标准。 我看到了稀疏的建议,但看起来它可能需要WPF(Windows Presentation Foundation)或安装Visual Studio的Sharepoint SDK(可能(?)允许我直接访问SharePoint dBase)。 我不是在安装SDK的上方,如果这将使我到达我需要去的地方; 而不是WPF上的那么多。 任何帮助是极大的赞赏。 即使只是说它无法完成。 如果您需要更多信息,请随时高兴。 谢谢。 Jasooomian

SPRequestContext缓存SPSites导致RPC_E_ATTEMPTED_MULTITHREAD错误的解决方案?

我正在为SharePoint 2007开发一个解决方案,我正在使用SPSecurity.RunWithElevatedPrivileges,传入SystemAccount的UserToken。 看了http://hristopavlov.wordpress.com/2009/01/19/understanding-sharepoint-sprequest/后我终于明白了为什么我得到这些System.Runtime.InteropServices.COMException(0x80010102):试图拨打更多电话单线程模式下的一个线程。 (来自HRESULT的exception:0x80010102(RPC_E_ATTEMPTED_MULTITHREAD))错误,但似乎没有解决方案 – “产品中的已知问题” 这篇文章已经有一年多了。 我无法找到更新的和有用的东西,但我希望也许其他人有? 我的代码是这样的 SPSecurity.RunWithElevatedPrivileges(delegate() { using (SPSite elevatedSite = new SPSite(web.Site.ID, web.Site.SystemAccount.UserToken)) { using (SPWeb elevatedWeb = elevatedSite.OpenWeb(web.ID)) { // some operations on lists and items obtained through elevatedWeb } } } 在使用这种提升的代码的地方出现错误,更常见的是当有更多用户使用这些function时,我猜也许升级的SPSite会被缓存并重用。 有什么方法可以解决这个问题吗? 如果我的理解是正确的,如何让Sharepoint忘记缓存的SPSites,并使用一个新的SPSites? 谢谢

以编程方式创建包含webpart的webpart页面

我想创建几个webpart页面(以编程方式),其中包含自定义Web部件。 我搜索过internetz但找不到任何我可以上class的东西。 这是我到目前为止的代码(我创建了一个欢迎页面,而不是webpart页面): using (SPSite site = new SPSite(“http://v99-sp-public/”)) { using (SPWeb web = site.OpenWeb()) { PublishingSite pSite = new PublishingSite(site); SPContentType ctype = pSite.ContentTypes[“Welcome Page”]; PageLayoutCollection pageLayouts = pSite.GetPageLayouts(ctype, true); PageLayout pageLayout = pageLayouts[“/_catalogs/masterpage/welcomesplash.aspx”]; PublishingWeb pWeb = PublishingWeb.GetPublishingWeb(web); PublishingPageCollection pPages = pWeb.GetPublishingPages(); PublishingPage pPage = pPages.Add(“Klanten2.aspx”, pageLayout); SPListItem newpage = pPage.ListItem; newpage[“Title”] = “Klanten”; […]

身份validation在调试时成功但在Azure App Service上失败

我只是使用CSOM使用以下方法从SharePoint获取一些用户。 这一直对我有用,我没有任何问题。 突然间,当我今天尝试调用此方法时,它会因此错误而失败 The sign-in name or password does not match one in the Microsoft account system. at Microsoft.SharePoint.Client.Idcrl.IdcrlAuth.GetServiceToken(String securityXml, String serviceTarget, String servicePolicy) at Microsoft.SharePoint.Client.Idcrl.IdcrlAuth.GetServiceToken(String username, String password, String serviceTarget, String servicePolicy) at Microsoft.SharePoint.Client.Idcrl.SharePointOnlineAuthenticationProvider.GetAuthenticationCookie(Uri url, String username, SecureString password, Boolean alwaysThrowOnFailure, EventHandler`1 executingWebRequest) at Microsoft.SharePoint.Client.SharePointOnlineCredentials.GetAuthenticationCookie(Uri url, Boolean refresh, Boolean alwaysThrowOnFailure) at Microsoft.SharePoint.Client.ClientRuntimeContext.SetupRequestCredential(ClientRuntimeContext context, HttpWebRequest […]

SP2010客户端对象模型3 MB限制 – 更新maxReceivedMessageSize不会应用

我正在使用客户端对象模型与Sharepoint 2010进行交互。当我尝试使用客户端OM上载大于3 MB的文档时,它给出了错误请求错误。 微软建议这样做来解决这个问题。 我试过并更新了maxReceivedMessageSize属性。 重新启动系统后它工作正常,但不会应用于正在运行的sharepoint服务器。 我假设由于设置可能已保存在内存中,因此需要重置应用程序,但我会想出要重置的内容。 我尝试过重置不同的Sharepoint服务。 我尝试在IIS中重置Sharepoint网站。 什么都没有帮助。 另外,如果我设置了10 MB的限制,我可以上传大约7.5 MB的文件。 我认为这是因为额外的元数据(内容类型属性等)。 这是正确的行为还是我需要改变别的东西。 非常感谢任何帮助。 问候。

如何使用开放XML将超链接添加到Word docx?

我在添加到我的word文档的超链接时遇到了麻烦。 我不知道怎么做。 我想使用open xml在我的C#代码的word文档中建立一个链接。 是否只使用href或类似的不同解决方案? Open XML上有一个HyperLink类但是如何使用它?

如何使用客户端对象模型授予用户对某些文件夹的权限?

到目前为止,我可以使用以下代码授予用户某些权限: ClientContext context = new ClientContext(“http://myRealURL”); Principal user = context.Web.EnsureUser(@”myLoginAccout”); RoleDefinition readDef = context.Web.RoleDefinitions.GetByName(“Read”); RoleDefinitionBindingCollection roleDefCollection = new RoleDefinitionBindingCollection(context); roleDefCollection.Add(readDef); RoleAssignment newRoleAssignment = context.Web.RoleAssignments.Add(user, roleDefCollection); context.ExecuteQuery(); 上面的代码工作正常,现在我的任务是仅使用C#代码将用户权限添加到某些文件夹。 例如,在Libraries下,我有一个名为JZhu的库,在JZhu ,我有两个文件夹folder1和folder2 。 是否可以使用Client Object Model更改这两个文件夹的访问权限?

如何使用SharePoint Copy Web服务的CopyIntoItems方法?

我正在尝试使用SharePoint Copy Web服务的CopyIntoItems方法将文档文件加载到SharePoint中的文档库中。 下面的代码执行并返回0(成功)。 此外,CopyResult []数组返回带有“Success”结果的1值。 但是,我无法在库中的任何位置找到该文档。 我有两个问题: 任何人都可以看到我的代码有什么问题或建议更改? 任何人都可以建议我如何在服务器端调试它。 我没有大量的SharePoint经验。 如果我可以通过日志记录或服务器端的其他方法跟踪正在发生的事情,它可以帮助我弄清楚发生了什么。 代码示例: string[] destinationUrls = { Uri.EscapeDataString(“https://someaddress.com/Reports/Temp”) }; SPCopyWebService.FieldInformation i1 = new SPCopyWebService.FieldInformation { DisplayName = “Name”, InternalName = “Name”, Type = SPListTransferSpike1.SPCopyWebService.FieldType.Text, Value = “Test1Name” }; SPCopyWebService.FieldInformation i2 = new SPCopyWebService.FieldInformation { DisplayName = “Title”, InternalName = “Title”, Type = SPListTransferSpike1.SPCopyWebService.FieldType.Text, Value = […]

在运行时动态选择要使用的.dll版本

我正在研究SharePoint的实用程序。 这是一个适用于SharePoint 2007和2010的应用程序。当我引用SharePoint.dll的12.0.0.0版本时,该应用程序适用于SharePoint 2007,但不适用于2010.如果我引用版本14.0.0.0 dll,然后该应用程序适用于2010年,但不适用于2007年。 通过使用以下代码查看文件系统,在路径(SharePoint 2007)或14(SharePoint 2010)中检查12,我可以轻松地告诉我需要使用哪个.dll。 System.IO.File.Exists( Environment.GetFolderPath(Environment.SpecialFolder.CommonProgramFiles) + @”\Microsoft Shared\web server extensions\14\ISAPI\Microsoft.SharePoint.dll”)); 在开发时,我在Visual Studio中进行引用,因此它可以在2007或2010中构建。我希望能够在两个版本的SharePoint上发布适用的应用程序。 因此,我需要一些方法来加载/使用任何.dll对运行应用程序的用户有意义。 如何在运行时动态选择和加载.dll?