WCF通过所有服务调用传递额外的安全数据
-
07-07-2019 - |
题
客户端我需要向我发出的每个服务调用传递一条信息(例如,这个例子就是一个字符串)。服务使用此字符串(currentRole)以及用户/通过凭据来检索用户与其当前角色关联的声明集。
到目前为止我遇到的解决方案是:
1)修改邮件标题,使其从客户端发出并验证邮件标题是否存在服务端。
2)使用自定义凭据,根据我的理解,需要自定义安全令牌以存储字符串。
我是否还缺少其他方法,例如只将信息添加到现有令牌/凭证中?是否有上述解决方案的优缺点?
感谢。
解决方案
您还可以编写一个客户端行为,将此标题添加到消息中(因此您不必考虑在代码中自行执行此操作)。
您可以实现 IClientMessageInspector
,并在 BeforeSendRequest
方法覆盖中添加消息头。当您将此行为添加到每个客户端端点时,它会自动将该邮件头添加到每个传出邮件。
请参阅此 CodeProject文章对于一些初学者信息,这个博客文章提供更深入的专业知识。
马克
不隶属于 StackOverflow