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?

Foi útil?

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);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top