首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于VPN的.NET客户端域认证

基于VPN的.NET客户端域认证
EN

Stack Overflow用户
提问于 2010-04-28 14:35:32
回答 1查看 4.4K关注 0票数 1

我正在编写一个ClickOnce WPF应用程序,有时会在VPN上使用。该应用程序只使用域认证用户可用的资源。其中一些内容包括访问SSRS报告、访问LDAP以查找用户信息、访问web服务等等。

当用户从未在域上进行身份验证的计算机登录时,我需要以某种方式获取他的凭据,在域上对他进行身份验证,并存储他的凭据。

  1. 推荐的通过VPN认证域用户的方法是什么?
  2. 如何安全地存储凭据?

我已经找到了几篇文章,但最近并没有太多的文章,很多解决方案似乎有点麻烦,或者不太安全(即在内存中存储字符串明文)。

如果我可以使用ActiveDicrtoryMembershipProvider,那将是很酷的,但这似乎适合在网络应用程序中使用。

编辑:以上是一种解决方法。用户必须输入其域凭据才能在VPN上进行身份验证。最好是访问用户已经输入的登录到VPN的凭据,而不是WindowsIdentity.GetCurrent() (后者返回登录到计算机的用户)。有什么办法吗?我们使用Juniper网络连接到VPN。

答案我最终基本上做了link below中建议的事情。当应用程序启动时,我将检测用户是否在域上。如果是这样,我将在调用服务时使用这些凭据。如果用户在VPN上(但不在域认证计算机上),我将提示用户的凭据并通过System.DirectoryServices进行身份验证。如果用户提供有效的凭据,我将将域、用户和密码存储在SecureString中。然后,应用程序使用这些信息创建凭据,以传递给各种服务。

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-04-28 14:59:09

This answer对这个问题可能有帮助。

-编辑--

如果客户端在AD凭据下登录,则

  • 将返回一个有效的WindowsIdentity。如果客户端未登录到域,则可以提供请求AD凭据的弹出。

我只是在想..。

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

https://stackoverflow.com/questions/2730406

复制
相关文章

相似问题

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