使用自定义 UserNamePasswordValidator,我可以终止用户的 WPF“会话”吗?

2023-12-03

我正在使用自定义 UserNamePasswordValidator,它实例化并登录到我们的内部 API。

此 API 公开了一个当用户被“踢”(被另一个管理用户)时触发的事件,我想通过终止 WCF 会话来响应此事件,以便进一步的调用引发异常。

我该怎么做呢?

我的 WCF 服务托管在 Windows 服务(不是 IIS)中。实例化和登录内部 API 需要相当长的时间,因此我无法在每次服务调用时都执行此操作。


如果您希望该服务将使用用户名和密码对每个用户调用进行身份验证,那么您可以在验证器中拥有任何代码。但是,如果您希望使用每个会话服务实例,您可能还会使用安全上下文(安全会话)。在这种情况下,只有第一个请求由验证器进行身份验证,后续请求由建立安全上下文期间生成的令牌进行身份验证。

Edit:

每个正在运行的服务都由 InstanceContext 类表示。如果您有 PerSession 服务,则每次调用的 InstanceContext 都是相同的。如果您将对 InstanceContext 的引用存储在某处,您应该能够释放实例并关闭会话 - 我从未尝试过,但应该是可能的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用自定义 UserNamePasswordValidator,我可以终止用户的 WPF“会话”吗? 的相关文章

  • Android Json结果处理

    我有这样的 Json 结果 array getJSONObject j 执行代码 WAT2 FreeIssuePrefix DisPaySchedulePrefix NextFreeIssueNo 1 NextReturnNo 20 Upl
  • 如何在 C# 中向肥皂信封添加命名空间

    我想向我的肥皂信封添加命名空间设置 我想在 IClientMessageInspector 的 BeforeSendRequest 中更改它 或者您有更优雅的方法 例如
  • WCF 服务中的缓冲区大小

    我们有一个 WCF 服务 它执行某些存储过程并将结果返回给 silverlight 客户端 某些存储过程最多返回 80K 行 下面给出的是 web config 中服务的设置
  • WCF:IsInitiating 到底做了什么?

    在某些地方 我看到 IsInitiating 创建了一个新会话 其他地方说它仅在需要时创建新会话 哪个是对的 为了明确起见 我想确保我可以调用 IService Foo 三次 而无需创建三个会话 第一次通过通道调用 IsInitiating
  • Task.Delay 值得取消吗?

    我最近使用取消模式重新实现了一大堆异步 WCF 服务方法 我在很多地方都看到过这种模式的描述 您可以在其中等待Task WhenAny在已启动的任务和 Task Delay 上 当然 现有任务是不可取消的 但这有望在以后的版本中得到解决 就
  • 如何从Windows服务公开restful接口?

    我编写了一个公开restful接口的wcf服务 现在我使用iis作为wcf服务主机 除了暴露其余部分之外 我还需要对我的应用程序执行一些操作 为此 我必须将我的应用程序作为 Windows 服务运行 但是使用iis作为主机不会使我的wcf服
  • MSMQ,消息被放入队列并消失,但从未被服务合约拾取

    我有一个本地私人队列 我还在 MVC 应用程序内有一个 WCF 服务 它使用 msmqIntegrationBinding 侦听队列 问题是 当消息排队时 服务契约永远不会被调用 但消息很快就会消失 该消息不在有害队列中 这是我声明与队列的
  • WCF 错误:相对端点地址

    嗯 对 WCF 还很陌生 我想我有点搞砸了 这就是我到目前为止所做的 我在 IIS 中托管了我的 WCF 服务 首先是合同 using System using System Collections Generic using System
  • AddressAccessDeniedException :无需 netsh 即可解决它?

    我遇到了异常AddressAccessDeniedException因为我的processus没有注册URL的权限 我首先以管理员身份运行我的程序 好的 它成功了 但我现在想要分发我的应用程序 并且我希望每个用户都能够运行它 而不必成为管理
  • 使用 wsHttpBinding 时,为什么 InstanceContextMode.PerSession 的行为类似于 PerCall?

    我有 AJAX 客户端使用 SOAP 1 2 使用的 WCF 服务 网页配置
  • 使用 NSubstitute 模拟动作

    Web 服务的代理需要进行单元测试 而无需 显然 访问 Web 服务 这就是我想要绝育的方法 public void Invoke Action
  • WCF 服务契约将被 XML 和 Json 序列化

    我如何创建要加入的服务合同XmlSerializer 格式也WebMessageFormat Json在 WCF RESTful 服务中 我需要的是从 ASP Net 1 1 的代码后面调用 CallADSWebMethod 操作契约 该契
  • WCF Xml 与二进制序列化的优缺点

    我知道如果我将二进制序列化与 WCF 一起使用 我就会失去互操作性 如果我愿意接受这一点 我想知道使用二进制比 Xml 是否有效率优势 如果还有我上面没有提到的其他优点和缺点 是的 可能是一个大事件 XML 序列化数据比二进制数据要大 使用
  • 将大文件返回为拆分 zip 文件、流或字节数组 WCF 的最佳方法

    我已经将 zip 文件流返回给客户端 如下所示MessageContract MessageContract public class ExportResult C MessageHeader public PackedStudy C Pa
  • WCF 服务中无法解释的程序集负载 (IIS 7)

    我正在开发一个新的 WCF Web 服务 该服务将托管在现有的 ASP NET Web 应用程序中 当我尝试运行服务的 svc 文件时 出现异常 无法找到程序集的文件 无法加载文件或程序集 System IdentityModel Vers
  • 实体框架和数据库集

    我正在尝试设置一个通用接口来从存储库中检索实体 问题是我需要从 WCF 服务请求数据 而据我所知 泛型不能与操作合约一起使用 所以我有这个在控制台应用程序中工作 而不是使用服务调用 public virtual List
  • WCF 和 n 层架构以及序列化性能

    当使用 WCF 服务作为接口层使用 5 层架构 前端 gt 接口层 gt 业务层 gt 数据库层 gt 数据库 时 让客户端应用程序调用它的方法 我是否也应该使用 WCF 服务业务层和数据库层 我问是因为 3 个服务之间进行的所有序列化 反
  • 如何在没有 ASP.NET 的情况下从 json 客户端调用 .NET AuthenticationService

    我有一个 WCF 4 服务 位于安全子文件夹中 在客户端使用 NET AuthenticationService 使用表单身份验证进行身份验证后可以访问该服务 此 WCF 服务适用于通过 json 进行通信的移动应用程序客户端 但不是 AS
  • 尽管受信任的根 CA,WCF 错误“X.509 证书链构建失败”

    我收到了中提到的错误这个问题 https stackoverflow com questions 4256520 wcf error the x 509 certificate cn localhost chain building fai
  • IIS 7.5 托管的 WCF 服务仅针对大型请求抛出 EndpointNotFoundException 和 404

    我有一个 WCF REST 服务托管在 IIS 7 5 Windows 2008 R2 上 该服务按预期工作 除非客户端尝试发送大于 25 MB 的消息 具体来说 当发送大小约为 25 MB 的消息时 服务会正确接收并处理消息 而当发送大小

随机推荐