Que permissões eu preciso conceder para executar o RAVENDB no modo de servidor?
-
26-09-2019 - |
Pergunta
Estou lendo o excelente post de Rob Ashton no Ravendb:http://codeofrob.com/archive/2010/05/09/ravendb-an-introduction.aspx
E estou trabalhando no código enquanto li. Mas quando tento adicionar um índice, recebo um erro 401. Aqui está o código:
class Program
{
static void Main(string[] args)
{
using (var documentStore = new DocumentStore() { Url = "http://localhost:8080" })
{
documentStore.Initialise();
documentStore.DatabaseCommands.PutIndex(
"BasicEntityBySomeData",
new IndexDefinition<BasicEntity, BasicEntity>()
{
Map = docs => from doc in docs
where doc.SomeData != null
select new
{
SomeData = doc.SomeData
},
});
string entityId;
using (var documentSession = documentStore.OpenSession())
{
var entity = new BasicEntity()
{
SomeData = "Hello, World!",
SomeOtherData = "This is just another property",
};
documentSession.Store(entity);
documentSession.SaveChanges();
entityId = entity.Id;
var loadedEntity = documentSession.Load<BasicEntity>(entityId);
Console.WriteLine(loadedEntity.SomeData);
var docs = documentSession.Query<BasicEntity>("BasicEntityBySomeData")
.Where("SomeData:Hello~")
.WaitForNonStaleResults()
.ToArray();
docs.ToList().ForEach(doc => Console.WriteLine(doc.SomeData));
Console.Read();
}
}
}
Ele lança o erro 401 quando na linha que faz com que a chamada PutIndex (). Alguma idéia de quais permissões eu preciso aplicar? E onde eu preciso aplicá -los?
Solução
O que você quer dizer com modo de servidor? Você quer dizer simplesmente executar o Raven.server?
Eu não tive que fazer nada especial do lado do cliente para fazer isso funcionar, embora tenha tido que executar o Raven.erver com privilégios elevados, porque não tenho certeza de que o código para solicitar permissões relevantes está funcionando bastante como pretendido. (Na verdade, vou levantar uma consulta sobre isso na lista de discussão)
Você não deve receber um erro 401, a menos que tenha alterado a configuração do Raven.Server.
Se você estiver executando o servidor, poderá navegar diretamente usando o URL especificado na configuração (localhost: 8080 por padrão) - verifique se está realmente funcionando e funcionando como pretendido antes de continuar com a solução de problemas