代码之家  ›  专栏  ›  技术社区  ›  chiccodoro

System.Security.Principal.WindowsIdentity和WinForms身份验证

  •  2
  • chiccodoro  · 技术社区  · 15 年前

    我想使用Windows身份验证模型对使用我的C#3.5 WinForms应用程序的用户进行身份验证:

    1. 已登录Windows的用户将自动登录到我的应用程序。
    2. WindowsIdentity 反对。

    WindowsIdentity identity = WindowsIdentity.GetCurrent();
    

    为了确定,我查了一下

    if (identity.IsAuthenticated) { ... }
    

    对于第二种情况,我在其他SO Q&A中发现了一些API调用,但我很确定 一定有办法的,我错了吗?

    更新: 根据Ivan的说法,我必须使用P/Invoke方法。这基本上是可以的,但是我仍然需要一种方法来检索 窗口标识 IsAuthenticated 属性设置为true。P/Invoke调用本身不返回这样的对象。 怎么能做到?

    2 回复  |  直到 14 年前
        1
  •  1
  •   giltanis    14 年前

    我不确定,但看起来你想用 WindowsIdentity Ctor

        2
  •  1
  •   Ivan Milosavljevic    15 年前

    没有管理的方法可以做到这一点,您必须按照您所说的那样执行pinvoke(api调用)。1号进近完全可以。。。信任microsoft:)