Winapi WIN32登录问题

Winapi WIN32登录问题,winapi,active-directory,Winapi,Active Directory,我们使用web Server 2008开发了ASP.NET 3.5 web应用程序,并使用active directory作为凭据存储实现了自定义身份验证解决方案。我们的前端应用程序使用普通登录表单捕获用户名和密码,并利用Win32 LogonUser方法对用户的凭据进行身份验证。当我们调用LogonUser方法时,我们使用LOGON32\u LOGON\u网络作为登录类型 我们发现的问题是,正在web服务器的C:\Users文件夹下创建用户配置文件文件夹。该文件夹似乎是在以前从未登录过的新用户

我们使用web Server 2008开发了ASP.NET 3.5 web应用程序,并使用active directory作为凭据存储实现了自定义身份验证解决方案。我们的前端应用程序使用普通登录表单捕获用户名和密码,并利用Win32 LogonUser方法对用户的凭据进行身份验证。当我们调用LogonUser方法时,我们使用LOGON32\u LOGON\u网络作为登录类型

我们发现的问题是,正在web服务器的C:\Users文件夹下创建用户配置文件文件夹。该文件夹似乎是在以前从未登录过的新用户首次登录时创建的。随着登录到应用程序的新用户数量的增加,由于创建了大量新用户文件夹,磁盘空间正在缩小

我需要在身份验证(authenticated\password locked\error password)之后,根据显示不同网页的逻辑,将令牌取回

有人见过Win32 LogonUser方法的这种行为吗

请回答以下问题:

是否可以禁用此行为来创建文件夹,因为每个新用户占用2.78 MB的空间,它会占用我的disck空间


我尝试登录32\u LOGON\u批处理,但在用户身份验证中出现错误1385。 对于与LOGON32\u LOGON\u批处理相关的任何解决方案,请确认这是否将停止在位置C:\users创建文件夹

对于任何可能的解决方案,我也需要

我可以禁用要在C:\user或 已验证用户不会创建文件夹的任何其他选项。

建议将
LOGON32\u LOGON\u BATCH
作为web服务的登录类型:

此登录类型适用于批处理 服务器,其中可能包含进程 代表用户执行,而不需要 他们的直接干预。这种类型 也适用于性能更高的服务器 这一过程需要许多明文 一次进行身份验证尝试, 例如邮件或Web服务器。这个 LogonUser函数不缓存 此登录类型的凭据


您尝试过吗?

通过
LOGON32\u LOGON\u BATCH
并授予用户使用组策略在该计算机上作为批处理作业登录的权限。

您没有编写任何关于您使用的产品版本(.NET,Windows Server)的信息,您的问题的最佳答案取决于此。此外,解决方案的最佳方式取决于您在登录后对用户令牌执行的操作。您真的想使用此令牌还是只想验证用户?所以我试着回答你的问题

通常,错误1385(错误登录类型未授予)表示以下内容(请参阅):

用户已请求一种登录类型, 比如互动或者网络,那 没有批准。管理员已经 控制谁可以登录 以交互方式并通过网络

SE\u BATCH\u LOGON\u NAME
SE\u DENY\u BATCH\u LOGON\u NAME
(NTSecAPI.h)权限,在您的情况下可以禁用/启用这些权限(有关说明,请参阅)。使用以管理员权限启动的Process Explorer(请参阅)查看哪些权限具有流程,哪些权限已启用(请参阅流程的“安全”选项卡)。如果用于应用程序池的帐户未授予
SE\u BATCH\u LOGON\u NAME
,或者在调用
LogonUser
之前未启用此权限,则应在程序中添加相应的代码

顺便说一句,有时候你真的不想对用户帐户做太多事情,只想验证密码。要做到这一点,您可以使用SSPI的一种旧方法(请参阅),它在
LogonUser
实现中使用。这种方法是验证我所知道的用户帐户的最聪明、最快捷的方法


您可以查看“SSPI解决方案”(请参阅)有关在.NET 2.0中使用SSPI的更多信息。

我尝试了LOGON32_LOGON_BATCH,但在验证用户时给出了1385。我尝试了LOGON32_LOGON_BATCH,但在验证用户时给出了错误代码1385。文件夹大小约为2.87MB,占用了磁盘空间,因此此解决方案不适合我。你能推荐其他解决方案吗?这是什么,你第三次发布这个?你以前得到过答案。请停下来。dup:dup:b马格里斯写的和我想写的一样。我最近回答了同一问题的前一个版本。其他人也一样。如果Lalit_M对我们的答案有一些问题,请提出这些问题,但将同一个问题重复三次…??问题的方向不同。我刚刚重新措辞以获得正确答案solution@Lalit_M然后修改你原来的问题,不要一直发布副本。我对LogonUser()调用有完全相同的问题。你能给我一个在广告中改变什么以及如何改变的想法吗?@user216652:如果你在新问题中详细描述你的问题,并在下一条评论中发布问题的链接,那会更好。你的程序是做什么的?是Windows服务、ASP.NET应用程序还是。。。?你需要在某个帐户上验证什么,你现在尝试做什么,等等。