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