mar*_*c_s 39 asp.net authentication azman authorization asp.net-membership
我们开始设计一大堆新服务来创建(WCF,ADO.NET数据服务,可能在某个时候在云端),弹出的一个问题是使用的身份验证和授权方案 - 有很多几个!
我们基本上需要能够在各种协议(HTTP,HTTPS,TCP)上识别用户(实际人员和"虚拟"应用程序/服务用户),并且我们需要为他们分配至少一堆角色/权限查看某些数据和/或进行某些操作.
我们绝对不能单独使用Windows组成员资格 - 我们的服务有很多外部消费者,我们不希望在内部域中为每个人设置域帐户.
所以我认为主要有三种选择:
首先 - 你会推荐这三个中的哪一个?为什么?
其次 - 我有更多选择吗?
感谢任何提示,指示,意见!
渣
PS:到目前为止看到答案,我很惊讶投票选择#3的人数.我本以为MS能够设计出可以满足所有这些要求的可重复使用的东西....
Zha*_*uid 19
实际上,答案可能是1和3的组合.
如果默认选项没有达到您想要的程度,您可以通过编写成员资格,角色或配置文件提供程序来利用框架为您提供的许多工具和功能.
我们已经在许多客户端站点上做到了这一点 - 例如我们的一个客户将其大部分用户存储为Commerce Server用户,并使用Commerce Server配置文件系统,因此我们编写了一个成员资格和配置文件提供程序来与那些人交谈数据存储 - 一个相当简单的练习.
由于需要对原始TCP进行身份验证,大多数人可能会选择3 - 这会引入超出标准ASP.NET成员资格提供程序的层.
MS生产的大部分内容都是"好"或"足够好",但总会有边缘情况,你想要做一些"不太标准"的事情,这意味着你最终会自己滚动.我想有一些超出"Basic Auth"或"Windows Auth"的东西,对于普通开发人员来说很容易理解,他们采取了"让我们为网络构建这个"的明智选择.
如果你看看你可以通过多种方式对WCF服务进行身份验证,你会看到我的意思 - 这些是为处理不同的传输机制而设计的,因此要复杂得多.
也就是说,默认角色和配置文件提供程序相当有限(角色:没有层次结构,因此您需要检查每个可能的角色,或者明确地将每个角色分配给用户;配置文件:所有存储在一个字段中的逗号分隔值 - 不是很容易找到所有有价值观的用户).
归档时间: |
|
查看次数: |
4266 次 |
最近记录: |