问题标签 [wcf-authentication]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3216 浏览

c# - 来自 MVC 应用程序的 WCF 服务身份验证共享相同的成员资格提供程序

我在 X 域中有一个 MVC 应用程序,在 Y 域中有一个 WCF 服务,我想为它们使用相同的成员资格提供程序。

WCF 服务位于 Y 域中,因为数据位于 Intranet 服务器中,而 MVC 应用程序位于 X 域中,因为我不想处理生成数据的服务器上的所有请求。

我希望用户登录到 MVC 应用程序,并通过这样做也对 WCF 服务进行身份验证。

我不知道哪种方法是最好的方法,如果我可以在它们在 MVC 应用程序中进行身份验证时为它们创建 cookie(我不确定如何完成)。我不希望未经身份验证的任何人都可以使用我的 WCF 服务。

所以我认为我需要的是 AuthenticationService 来验证用户,然后将相同的用户名和密码传递给我的自定义 WCF 服务以便能够与之交互。

问题是我使用 AuthenticationService 验证我的用户名并创建一个 cookie(http://msdn.microsoft.com/en-us/library/bb515342.aspx)但是当我与我的自定义 WCF 服务(数据)交互时,我需要再次提供用户名和密码(http://msdn.microsoft.com/en-us/library/ff647294.aspx),我对用户名没有问题,但密码我不知道如何管理它,我不知道不想每次都要求输入密码。

有更简单的吗?

0 投票
1 回答
665 浏览

wcf - 唯一证书认证和 REST 服务

我正在收集信息以实现系统的证书身份验证方案,该系统要求移动设备客户端使用证书进行身份验证,然后才能被授予访问系统使用的服务的权限。我正在寻找可能的解决方案,允许我向系统的受信任用户颁发唯一证书,以便他们可以与他们的移动设备一起使用,以及其他登录凭据。

具体来说,客户端设备上的移动应用程序(例如 Android 应用程序)将使用 WCF REST 服务,并且需要检查客户端是否具有正确的证书以及用户提供的有效用户凭据. 此外,在这种情况下,安全性是关键且备受关注。

我的问题是,在刚刚描述的场景中,是否可以实施唯一的证书身份验证并高度重视安全性?如果不是,有哪些不同的替代方案或实现这一目标的最佳方式?

此外,对于用于 PIV/CAC 卡的单独颁发的证书,是否可以利用这些证书使用移动设备进行身份验证?

0 投票
1 回答
1130 浏览

asp.net - 如何使用用户名和密码保护 WCF Rest 服务?

我是 WCF 的新手,我想知道如何保护 WCF Rest 服务。我有一个 asp.net 网站,只有注册用户才能访问它,该应用程序使用托管在同一 IIS 服务器上的服务,我的问题是,我该如何限制该服务的使用,因为只有注册用户才能使用它,知道该服务可以被许多客户端(Android、iPhone、...)使用。我可以使用什么类型的身份验证?为了测试我创建了一个 winform 的服务,我使用了一个 HttpWebRequest。 PS:我不能使用https。 谢谢

0 投票
1 回答
568 浏览

wcf - WCF - 为什么“CustomAuthorizationPolicy”在每个操作上都创建一个“CustomPrincipal”?

我正在开发一个带有自定义 USERNAME-PASSWORD 验证器的 WCF 服务。

我有一个继承自UserNamePasswordValidator的CustomUserNameValidator

我还使用了继承自IAuthorizationPolicy的CustomAuthorizationPolicy

自定义授权策略的Evaluate方法如下所示:

正如您所看到的 - 我在每次调用Evaluate时创建一个新的CustomPrincipal对象(这在服务上调用的每个操作中都完成)。

这是我的CustomPrincipal构造函数的样子:

GetUser和EnsureRoles方法转到SQL 数据库,以检查用户的角色。

我的问题是 - 为什么每次操作都必须发生这种情况?

为什么CustomPrincipal的创建发生在每个操作上,而不仅仅是在客户端第一次连接到服务时?

对我来说,为什么对于服务上调用的每个操作都没有意义 - “CustomPrincipal”将进入数据库并重新获取用户,以及他的所有角色......

[更新] 这是我的查询服务界面的样子:

0 投票
2 回答
2327 浏览

c# - WCF:将用户名和密码传递给另一个服务(无 Https)

我必须创建一个 WCF 服务(ServiceWrapper),它引用另一个 WCF 服务(RealService)。

我希望 ServiceWrapper 的客户在身份验证请求中传递用户名/密码。

ServiceWrapper 的操作调用 RealService。我需要将收到的用户名/密码传递给使用 RealSerivce 进行身份验证,然后调用其操作。

我需要在 Http 而不是 Https(SSL/TLS) 上托管服务。

问题:如何在不使用 Https(SSL/TLS) 的情况下使用服务接收的客户端凭据向引用的服务进行身份验证?

0 投票
2 回答
307 浏览

wcf - WCF 安全性:用户名、密码和另外一个参数

在我们的项目中,所有 WCF 服务都由 wsHttpBinding (TransportWithMessageCredential, UserName) 选项保护。

它工作得很好,但现在我们需要使用另外一个参数(ClientId)来实现安全性。

当 WCF 服务接到呼叫时,它不知道呼叫的数据库是什么(在哪里检查用户名和密码),所以首先它应该去我们公司的“主”数据库(所有客户端都存储在其中) 并通过 ClientId 获取连接字符串。

我们如何实现这一点?

0 投票
1 回答
577 浏览

wcf-binding - WCF 用户名身份验证不起作用

我是 WCF 服务的新手。我想使用basichttpbinding创建一个 WCF 服务,以便在访问我的 WCF 服务之前创建一个自定义身份验证机制。我使用了 security mode = Transportclientcredentialtype = basic。我编写了一个自定义验证器函数来验证我的用户名和密码。

验证器功能

这是我的服务配置文件

所以这里的问题是,每当我运行我的服务时,如果我输入用户名和密码(我的验证器希望用户名和密码相同),我会得到一个登录对话框,我没有得到我的服务详细信息页面,它曾经来在正常情况下(没有身份验证机制)。我不知道我错过了什么,我确实觉得它的全部配置对我来说很重要,但我仍然无法找出错误。

0 投票
1 回答
1976 浏览

iis-7.5 - System.ServiceModel.FaultException:无法满足对安全令牌的请求,因为身份验证失败

我只在我的网络场中的两个节点之一上收到此错误消息。两个节点之间的代码是相同的,据我所知,IIS 在两个节点上的设置相同。

他们调用的 WCF 服务位于另一台机器上,并且没有锁定任何疯狂的权限。

两个节点都使用匿名身份验证和表单身份验证。两者都有其应用程序池的默认用户,两者都有匿名用户的 IUSR 帐户。我还能检查什么以使节点 2 与节点 1 一致?正如我所说,两台服务器的代码是相同的,我在 IIS 中查看的所有内容也相同。我确定节点 2 上的 IIS 中还有其他一些我不知道的设置,所以如果您能想到其他可以查看的地方,我将不胜感激。

同样,这是抛出的异常(仅在节点 2 上)

System.ServiceModel.FaultException:由于身份验证失败,无法满足对安全令牌的请求。

TIA

0 投票
1 回答
352 浏览

wcf - 身份验证后如何绕过 UserNamepasswordvalidator 中的 Validate 方法

我正在使用继承 UserNamepasswordvalidator 的 Customvalidator 类问题是它在每个请求上都会被调用。一旦用户通过身份验证,我想绕过它

任何帮助,将不胜感激

0 投票
2 回答
5302 浏览

wcf - WCF 服务证书不在受信任的人员存储中

我创建了应该使用证书的 wcf 服务。我使用自签名证书的测试工作完美,但是当我尝试在服务器上运行它时,所有更改都发生了变化,证书由 CA 生成。我使用 CA 生成客户端和服务器证书,然后将服务器证书导出到“受信任的人”文件夹。(我放置在 LocalMachine 目录中的两个证书)。我还授予了证书的所有必要权限。

当我运行出现异常的客户端程序时出现问题:

X.509 证书 CN=xxxx 不在受信任的人员存储中。

这是我的服务器配置

这是客户端配置

有人知道我的错误在哪里吗?