首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.NET :通过传输层传输用户凭据

.NET :通过传输层传输用户凭据
EN

Stack Overflow用户
提问于 2010-09-27 09:31:21
回答 2查看 671关注 0票数 2

通过传输层传输用户凭据(Active Directory)的最佳/最简单方法是什么?

我有两个与第三方消息层C连接的系统A和B。

有没有办法(最好是在.NET中)以某种方式在A端存储/序列化经过身份验证的用户的凭据,通过C传输它,然后在B端反序列化它,然后使用反序列化的凭据调用下游系统D?

EN

回答 2

Stack Overflow用户

发布于 2010-10-28 02:20:58

要向另一个可以由AD的身份验证前端进行身份验证的系统发送凭据,您需要一个模拟友好的协议(如Kerberos)、原始凭据本身(有时称为"basic“或"username/password",但在某些情况下也可以是RSA密钥对),还需要一个可选的框架来封装这些凭据(例如WS-Sec、SAML)。

由Windows生成的access token仅在生成令牌的系统上有效-如果您将令牌从一个系统序列化和反序列化到另一个系统,则LSA不会接受它作为该进程已由该目标系统进行身份验证并且具有访问系统上任何受保护资源的权限的证据。否则,您将谈论的是一个遭受重放攻击的系统(从一个盒子中提取安全上下文并重放它-无论是恶意的还是其他的,安全威胁模型都不会关心-在另一个盒子上)。

因此,“最简单”的方法是让你的代码提示用户输入他们的用户名和密码。这也是最容易受到安全缺陷影响的场景,如果他们的应用程序做了这种粗糙的事情,任何有正义感的组织都会被卡住,但这只是一个理论上的选择。

更好的方法是找到一种方法,使系统间通信包括对身份验证协议的嵌入式支持-请参阅GSS-API,了解通常在这些上下文中可用的跨平台API。

票数 2
EN

Stack Overflow用户

发布于 2010-09-27 13:50:25

这就是所谓的模拟,但是没有关于底层系统的任何细节,我真的不能确定它是否会被支持。

如果系统是基于WCF的,这绝对是可能的。此MSDN页面包含所有详细信息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3800582

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档