0

我是 ravendb 的新手。请原谅我缺乏理解。首先我创建了一个 createUser 函数。在这个函数中,我允许一个用户使用两个数据库(名为 db1 和 db2)。

 public void createUser(DocumentStore documentStore, string userName, string password)
        {
            using (var session = documentStore.OpenSession())
            {
                AuthenticationUser user1 = new AuthenticationUser
                {
                    Name = userName,
                    Id = "Raven/users/NewUser",
                    AllowedDatabases = new[] { "db1", "db2" },
                    Admin = true,
                }.SetPassword(password);
                session.Store(user1);
                session.SaveChanges();
            }
        }

创建用户后,我想在该数据库中创建一个带有凭据的文档但是在提供正确的凭据后,它给了我一个异常“远程服务器返回错误:(401)未经授权。”

public CreateDocumentResult CreateDocument(DocumentStore documentStore,string databaseName, string collectionName, string documentName)
        {

                NetworkCredential credential = new NetworkCredential("raj", "raj");
                //documentStore.Credentials = credential;
                var doc = documentStore.DatabaseCommands.ForDatabase(databaseName,credential);
                var docExist = doc.Get(documentName);
                DefaultD defaultDocument = new DefaultD();

                if (docExist == null)
                {
                    using (var session = documentStore.OpenSession(databaseName,credential)) 
                    {
                        Guid etag;
                        etag = Guid.NewGuid();
                        RavenJObject metadata=new RavenJObject();
                        metadata.Add("Raven-Entity-Name", collectionName);
                        createDocumentResult.FinalDocument=session.Advanced.DatabaseCommands.Put(documentName, etag, RavenJObject.FromObject(defaultDocument), metadata);

                        session.SaveChanges();
                      }
                }

我从 Ravendb 身份验证视频中学到了这些东西。当然,我缺少某些东西。如何验证用户身份,请告诉我方法。非常感谢

4

0 回答 0