繁体   English   中英

.NET登录对话框的实现

[英].NET Login Dialog Implementation

我实现了一个LoginAccess类,该类提示用户输入其活动目录的用户名和密码。 然后,我将登录数据另存为加密文件。 在应用程序的每次后续启动中,LoginAccess类都会读取加密的文件并对照活动目录进行检查,以查看登录信息是否仍然有效。 如果不是,那么它将再次提示用户。 我这样做是为了在一个单独的线程上完成加密文件的读取和登录对话框的显示。 登录过程完成后,将激发一个委托。

我遇到的问题是我有一个在多个地方使用的类。 此类包含对LoginAccess对象的调用。 每次实例化一个新对象时,都会多次调用LoginAccess对象,并且在尝试提示用户名和密码时会出现多个对话框。

关于如何仅显示一个对话框的任何建议将不胜感激。

在执行的主线程中读取密码文件并执行AD登录可能是有意义的,因为大概用户只有在通过身份验证之后才能执行其他操作。 这也应该消除多个对话框的问题。

在不受保护的应用程序中请求用户密码是非常糟糕的做法。

  • 如果必须请求提升的特权,请使用CredUIPromptForCredentials而不保存它们。
  • 如果必须在提升的特权下运行,请使用文件清单来请求提升的上下文。
  • 如果您必须在完全不同的凭据下运行,那么您不应该是一个应用程序,而应该是一个服务。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM