【问题标题】:RavenDB IIS authentication/authorizationRavenDB IIS 身份验证/授权
【发布时间】:2012-04-17 18:12:15
【问题描述】:

我有一个场景应该可以使用 RavenDB 恕我直言,但我找不到任何可以帮助我实现它的信息。

我已将 RavenDB 作为 IIS 应用程序部署到我的常规主机。我没有专用服务器,所以这几乎是我拥有的所有选项。另一种选择是使用嵌入式 RavenDB 创建 Web 应用程序,我认为这更复杂,我现在想保持简单。将 RavenDB 作为 IIS 应用程序似乎非常方便。

我希望一些用户能够登录 RavenDB 应用程序并编辑文档。其他用户(匿名)只能读取数据。

我发现应用中有 2 个可选捆绑包: Raven.Bundles.Authentication.dll Raven.Bundles.Authorization.dll 不幸的是,这个捆绑包的文档不够完整:(

这是我的目标的描述:http://www.youtube.com/watch?v=bS4UMp12PZM&feature=player_detailpage#t=899s

所以问题是:

  • 如何在 RavenDB 中存储用户信息并对此进行身份验证 信息?
  • 如何授予特定用户对文档集合的编辑权限?
  • 如何将所有(管理员)权限授予某些特定用户?

【问题讨论】:

    标签: ravendb


    【解决方案1】:

    以下是一些您可以关注的资源:

    RavenDB 的身份验证选项
    http://www.youtube.com/watch?v=bS4UMp12PZM

    授权包
    http://ravendb.net/docs/server/bundles/authorization
    http://ravendb.net/docs/server/bundles/authorization-bundle-design

    编辑
    对于简单的情况,请使用application users instead of database users
    存储 User 实体并根据它对用户进行身份验证。每个用户都应该有一个用户类型属性,该属性说明具有哪些权限。而不是在应用程序级别控制用户可以执行的操作,而不是在数据库级别。

    【讨论】:

    • 谢谢,Fitzchak,但我已经去过那里了 :) “RavenDB 的身份验证选项”视频提供了一些提示,但没有答案或合适的代码示例。 “授权包”文档涵盖了更复杂的示例,对简单的示例没有帮助。我假设我的案例对于任何熟悉 NoSQL 数据库的人来说可能很简单,但对我来说不是。
    • 这是我的案例示例:youtube.com/… (at 14:59)
    • > 比控制用户可以在应用程序级别执行的操作,而不是在数据库级别。我没有“应用程序级别”。裸 DB 可通过 HTTP REST 获得。我想要的只是限制消费者对数据库的访问——移动应用程序和网站。在移动应用程序的情况下,它在“敌人的手中”,所以我不能输入任何“秘密”密码。但我能做的是对移动应用程序用户进行身份验证。 RavenDB 作为 IIS 应用程序运行的美妙之处在于,我可以开始将它用于原型应用程序,然后在确定我需要什么时创建一些“应用程序层”。
    • 但也许你是对的,“应用程序级别”并不难维护。为了原型设计,我只想尽可能降低对数据方案的更改。
    猜你喜欢
    • 1970-01-01
    • 2018-07-09
    • 2011-09-27
    • 2017-05-28
    • 1970-01-01
    • 1970-01-01
    • 2019-10-21
    • 2010-12-07
    相关资源
    最近更新 更多