WCF身份验证-一次认证用户/通过,然后再以其他方式认证?

| 基本上,我有以下情形和信息: 我们正在使用HTTPS。 我们希望在用户首次登录时通过用户/通行证对用户进行身份验证。 在对它们进行身份验证之后,我希望以后对其他服务(而非登录服务)的任何调用都使用用户名和某种会话(以防在会话过程中更改密码)。 我想确保我的会话可以超时并以某种方式控制它们,如果用户尝试调用服务而他们没有会话,则会收到错误消息(因为他们尚未登录)。不知道是否有WCF内置方法可以以此方式进行会话,或者我是否必须对数据库进行自定义。 我认为我们想使用WSHttpBinding(而不是BasicHttpBinding),对此有90%的把握。 我似乎无法弄清楚该如何做。通常,我会通过
client.ClientCredentials.UserName.UserName = username
client.ClientCredentials.UserName.Password = password
找到有关客户端代码的信息。但是,那只是行不通,因为我的服务器要检查什么?我正在尝试获取该信息,并针对用户/通行证数据库进行验证。我不想使用Windows身份验证或类似的方式(因为我不在乎谁登录到计算机,而是谁登录到应用程序)。     
已邀请:
您想使用安全令牌服务(STS)进行身份验证,并获取返回的安全令牌(可能是SAML),以标识用户,然后可以将该用户传递给您的其他服务,并且他们只能使用身份信息进行标识和授权,因为它们信任STS已预先验证了用户的身份。 这是一个很大的话题,因此我建议搜索WCF STS并进行更多研究,但这绝对是我建议的方向。如果您要构建自己的STS实现,我还建议您考虑使用Windows Identity Foundation(WIF)组件来简化开发工作。 这是WIF v1.0的下载链接,它是在回答此问题时的最新版本。     

要回复问题请先登录注册