我们开始设计一大堆要创建的新服务(WCF、ADO.NET 数据服务,可能在某个时候在云中),弹出的一个问题是使用什么身份验证和授权方案 - 有很多很少!
我们基本上需要能够识别各种协议(HTTP、HTTPS、TCP)上的用户(实际人员和“虚拟”应用程序/服务用户),并且我们需要为他们分配至少一堆角色/权限查看某些数据和/或执行某些操作。
我们绝对不能单独使用 Windows 组成员资格 - 我们有大量服务的外部消费者,我们不希望必须在我们的内部域中为每个人设置域帐户。
所以我认为主要有三个选择:
- 使用 ASP.NET 成员系统 - 在那里创建用户并分配角色
- 使用 AzMan(授权管理器),它似乎是一个更细粒度、更成熟、更精细的系统(具有用户、任务、组 - 三个级别,而不仅仅是用户 + 角色)
- 滚动我们自己的
首先 - 你会推荐这三个中的哪一个?有什么理由吗?
其次 - 我还有更多的选择吗?
感谢您的任何提示,指针,意见!
马克
PS:看到到目前为止的答案,我对投票给选项#3 的人数之多感到惊讶。我原以为 MS 能够设计出可以处理所有这些要求的可重复使用的东西......