WCF身份验证——对用户进行一次身份验证/传递,然后以其他方式进行身份验证?
基本上,我有以下场景和信息:WCF身份验证——对用户进行一次身份验证/传递,然后以其他方式进行身份验证?,wcf,authentication,https,wshttpbinding,basichttpbinding,Wcf,Authentication,Https,Wshttpbinding,Basichttpbinding,基本上,我有以下场景和信息: 我们正在使用HTTPS 我们希望在用户首次登录时通过user/pass对其进行身份验证 LI>在认证之后,我希望将来的其他服务(不是登录服务)调用用户名和某种会话(如果会话中间的密码更改),。 我想确保我的会话可以超时,并以这样的方式控制它们:如果用户试图调用服务,但他们没有会话,他们就会出错(因为他们没有登录)。不确定是否有一种WCF内置的方式以这种方式进行会话,或者我是否必须使用数据库进行自定义 我认为我们希望使用WSHttpBinding(而不是Basic
- 我们正在使用HTTPS
- 我们希望在用户首次登录时通过user/pass对其进行身份验证 <> LI>在认证之后,我希望将来的其他服务(不是登录服务)调用用户名和某种会话(如果会话中间的密码更改),。
- 我想确保我的会话可以超时,并以这样的方式控制它们:如果用户试图调用服务,但他们没有会话,他们就会出错(因为他们没有登录)。不确定是否有一种WCF内置的方式以这种方式进行会话,或者我是否必须使用数据库进行自定义
- 我认为我们希望使用WSHttpBinding(而不是BasicHttpBinding),这一点90%确定
我只是不知道怎么做。通常情况下,我会找到有关执行
client.ClientCredentials.UserName.UserName=UserName
和client.ClientCredentials.UserName.Password=Password
的客户端代码的信息。但是,这根本不起作用,因为我的服务器在检查什么?我试图获取这些信息,并根据用户/通行证数据库对其进行验证。我不希望使用Windows身份验证或类似的身份验证(因为我不关心谁登录到计算机,只关心谁登录到应用程序)。您希望使用安全令牌服务(STS)进行身份验证并获取安全令牌(可能是SAML)这将标识用户,然后将其传递给您的其他服务,他们可以使用身份信息进行标识和授权,因为他们相信STS已经预先验证了用户的身份
这是一个需要讨论的大问题,所以我建议进行更多的研究,但这绝对是我建议的方向。如果您打算构建自己的STS实现,我还建议您考虑使用组件来简化开发工作
哪一个是本回答时的最新版本。是免费的吗?因为当我用谷歌搜索WIF时,它会把我带到一个MSDN页面,上面写着“下载评估”…100%免费。增加了v1下载链接来回答问题。