WCF,将数据传递给服务类的自定义授权

Posted

技术标签:

【中文标题】WCF,将数据传递给服务类的自定义授权【英文标题】:WCF, custom authorization with data being passed to service class 【发布时间】:2021-12-06 11:40:57 【问题描述】:

我为验证目的编写了一个 UserNamePasswordValidator 后代 (basicHttpBinding)。

问题是当我针对后端服务验证用户时,我收到了我必须在服务类方法中使用的标识符。事实证明这是一个大问题……除非你知道怎么做……

是否有另一种授权替代方案,我不必在方法标头中传递用户名/密码,或者在服务的方法参数中更糟?

【问题讨论】:

【参考方案1】:

WCF 服务认证和授权可以使用 UserNamePasswordValidator 和 IAuthorizationPolicy。这是一个article 说明如何操作。如果没有,请尝试使用IPrincipal。

【讨论】:

我只是想知道如何将一些额外的数据从我的自定义验证器传递给我的 CustomPrincipal ... 您可以定义一个从 X509CertificateValidator 派生的新类并实现抽象的 Validate 方法,您可以在其中传递一些数据并使用您的逻辑来处理它。具体示例可以查看this docs。 所有这些方法都意味着使用证书......如果不保护通道,我们不能做任何事情吗?

以上是关于WCF,将数据传递给服务类的自定义授权的主要内容,如果未能解决你的问题,请参考以下文章

将数据传递给服务器显示未定义

Primeng - 对话服务将数据传递给对话组件

使用“let”关键字将数据传递给组件

Codeigniter:将数据传递给查看未定义的变量

将数据传递给 Web 服务获取 - 500(内部服务器错误)

如何通过数组将数据传递给表格视图?