基本上,我有以下场景和信息:
- 我们正在使用 HTTPS。
- 我们希望在用户首次登录时通过用户/密码对用户进行身份验证。
- 在他们通过身份验证后,我希望将来对其他服务(不是登录服务)的任何调用都使用用户名和某种会话(以防密码在会话中间发生变化)。
- 我想确保我的会话可以超时并以某种方式控制它们,如果用户尝试调用服务并且他们没有会话,他们会收到错误(因为他们没有登录)。不确定是否有 WCF 内置方式来以这种方式进行会话,或者我是否必须使用数据库进行自定义。
- 我认为我们想使用 WSHttpBinding(不是 BasicHttpBinding),90% 的肯定。
我似乎无法弄清楚如何做到这一点。很多时候,我会找到有关客户端代码执行client.ClientCredentials.UserName.UserName = username
和client.ClientCredentials.UserName.Password = password
. 但是,这不起作用,因为我的服务器检查的是什么?我正在尝试获取该信息并根据用户/通行证数据库对其进行验证。我不打算使用 Windows 身份验证或那种(因为我不关心谁登录到计算机,只关心谁登录到应用程序)。