2

我正在尝试创建一个简单的 WCF 服务来处理各种安全场景,但我不确定从哪里开始。

WCF 服务将托管在 IIS 上(很可能)。它需要由经过身份验证的活动目录用户和未经身份验证的用户(匿名/外部)访问。我需要能够访问这两种类型的各种方法,尽管经过身份验证的用户应该可以访问其他方法。

我希望能够检查 HttpContext.Current.User.Identity.IsAuthenticated (我认为这将是确定哪种用户类型的最简单方法 - 或者是 ServiceSecurityContext.Current.WindowsIdentity)并访问角色数据库。该服务将由 .net 4.0 网站(不是 webforms 应用程序,也不是 mvc)和其他可能是也可能不是 .net 的外部资源(例如,java 应用程序或 java 网站)访问。

我不清楚从哪里开始。什么类型的绑定、传输、安全模式。我可以在服务中使用会员/角色提供者(SimpleMembership 或旧的 asp.net 会员)吗?

如果我想拥有不同类型的匿名用户,是否需要将它们映射到不同角色的特定活动目录用户,或者我还可以包含某种用户名/密码来进行身份验证?

我还需要能够使用模拟,以便假设正确的权限,一个用户执行的操作可以看起来好像由另一个用户执行。

我一直在寻找各种选择并感到困惑。ADFS、WIF、Microsoft.IdentityModel.dll、ACS 2.0 等。

不知道什么是最好的,什么是矫枉过正的,什么会和不会满足需求,什么会相对容易实施。是否使用 SSL,如果是,如何设置服务 web.config 以及客户端 web.config

我知道这个问题很多,但至少如果我被指出了正确的方向,我可以停止寻找不起作用或过于复杂的解决方案,而专注于正确的解决方案。

4

0 回答 0