我尝试通过API在kentico中创建新文档,但我遇到了用户身份验证问题。我尝试使用以下代码:
TreeProvider tree = new TreeProvider(CMSContext.CurrentUser);
但我在网站上的授权系统与kentico authoristation无关,但它不起作用。我试过把管理员用户名放在那里:
CMS.SiteProvider.UserInfo userInfo =
CMS.SiteProvider.UserInfoProvider.GetUserInfo("administrator");
CMS.DocumentEngine.TreeProvider tree = new CMS.DocumentEngine.TreeProvider(userInfo);
它也不起作用。我找到了一个在代码中对用户进行身份验证的示例,但它是针对Kentico 4.x的,现在我使用了kentico 7.x,它不支持" AuthenticateUser"方法
CMS.SiteProvider.UserInfo ui = CMS.SiteProvider.UserInfoProvider.AuthenticateUser(txtboxUsername.Text,
txtboxPassword.Text, CMS.CMSHelper.CMSContext.CurrentSite.SiteName);
您能否建议我如何在代码中验证用户身份?
答案 0 :(得分:0)
为什么你认为是身份验证问题?您发布的代码只是实例化TreeProvider,它不会创建文档。我建议您查看API示例,您可以在站点管理器 - 支持 - API示例 - 文档下找到它们。基本上它会是这样的:
TreeProvider tree = new TreeProvider(CMSContext.CurrentUser);
// Select root at parent
TreeNode parentNode = tree.SelectSingleNode(CMSContext.CurrentSiteName, "/", "en-us");
// Create a new instance of the Tree node
TreeNode newNode = TreeNode.New("CMS.MenuItem", tree);
// Set the document's properties
newNode.DocumentName = "Document name";
newNode.DocumentCulture = "en-us";
// Set document type specific fields
newNode.SetValue("Field1", "value");
// Insert the document into the content tree
DocumentHelper.InsertDocument(newNode, parentNode, tree);