我看过很多来源,并找到了很多例子,但没有一个真正适合我希望将项目带到的情况。我正在编写一堆WCF服务,一些是可公开访问的,另一些不是(服务器到服务器),这将允许一个完全灵活的云应用程序,确保能够根据需要通过Azure扩展服务。我不确定使用消息身份验证的方式,因为我想确保特定用户登录,可以执行不同的任务,并阻止其他人运行这些任务。
我见过的大部分内容都使用角色或ASP.NET成员资格。我有自己的自定义会员用户将用于登录,我不依赖于标准会员提供商或活动目录。你有什么建议?我想过只创建一个成功登录时创建的令牌,它存储在一个cookie中,作为传递给每个方法的参数添加,但是经过一些研究,我认为这可以在不修改我的所有方法的情况下进行处理。
你有什么想法?
答案 0 :(得分:3)
您可以轻松实现身份验证,而无需通过使用UserNameAuthentication和编写自定义验证程序手动将令牌传递到您的所有函数中 - 有一个相当简单的教程here
如果您使用UserNameAuthentication,则需要使用SSL / HTTPS,这意味着您需要获得服务器证书 - 无论如何,这对于大多数业务应用程序来说都是个好主意。
在服务器端,您可以获得当前用户的身份:
IIdentity wic = OperationContext.Current.ServiceSecurityContext.PrimaryIdentity as IIdentity;
答案 1 :(得分:0)
使用基本身份验证,并对您的会员商店进行身份验证。