我正在开发一个c#-webservice,它将为客户端提供一些与mongodb交互的方法。
我的问题是:我应该使用
- > admin-user从数据库读取/写入数据库并自行处理授权 要么 - >我应该与当前登录用户建立连接,让mongodb负责用户授权吗?
我问,因为在我可以执行用户权限足够的方法之前,我需要查询用户数据库(只有管理员有权读/写)的一些用户操作。
托拜厄斯
答案 0 :(得分:1)
简短的回答是:在您的应用程序中自己处理身份验证。
中等答案是:这主要取决于您的意见,无论您使用何种数据库解决方案,都需要回答这个问题。
答案很长: MongoDB
支持4种不同的authentication mechanisms:
MongoDB
机制。MongoDB Enterprise
)。MongoDB Enterprise for Linux
)。我假设你运行windows,它使用Kerberos进行身份验证。我还假设您没有MongoDB Enterprise
订阅,因为它的费用是基本订阅的3倍。如果这些假设是正确的,您无法真正使用登录用户的Windows身份验证来访问数据库。这意味着您必须自己处理身份验证。
我建议使用证书。如果您的环境支持它,它非常容易,它不是MongoDB
特有的,而且非常安全。