Como autenticar o usuário via API Kentico 7.x na webpart ASP.NET?
-
21-12-2019 - |
Pergunta
Tento criar novos documentos no kentico via API, mas estou com problema na autenticação do usuário.Tento usar o seguinte código:
TreeProvider tree = new TreeProvider(CMSContext.CurrentUser);
mas meu sistema de autorização no site não está conectado à autorização Kentico e não funciona.Eu tentei também colocar o nome de usuário do administrador lá:
CMS.SiteProvider.UserInfo userInfo =
CMS.SiteProvider.UserInfoProvider.GetUserInfo("administrator");
CMS.DocumentEngine.TreeProvider tree = new CMS.DocumentEngine.TreeProvider(userInfo);
Também não funciona.Encontrei um exemplo para autenticar usuário em código mas era para Kentico 4.x, agora uso kentico 7.x que não suporta o método "AuthenticateUser"
CMS.SiteProvider.UserInfo ui = CMS.SiteProvider.UserInfoProvider.AuthenticateUser(txtboxUsername.Text,
txtboxPassword.Text, CMS.CMSHelper.CMSContext.CurrentSite.SiteName);
Você poderia me sugerir como posso autenticar o usuário no código?
Solução
Por que você acha que é um problema de autenticação?O código que você postou apenas instancia o TreeProvider, ele não cria documentos.Sugiro dar uma olhada nos exemplos de API que você pode encontrar em Gerenciador de sites - Suporte - Exemplos de API - Documentos.Basicamente será algo assim:
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);