asp.Net   发布时间:2022-04-07  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了asp.net – IIS将旧用户名返回到我的应用程序大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
这里是我的情况。我创建了一个应用程序,使用集成Windows身份验证为了工作。在Application_Authenticaterequest()中,我使用httpContext.Current.User.Identity获取我的网站的用户的当前WindowsPrincipal。

现在这里有趣的部分。我们的一些用户最近结婚了,他们的名字改变了。 (即用户的NT登录从jsmith更改为jjones),当我的应用程序对它们进行身份验证时,IIS会传递他们的OLD LOGIN。我继续看到jsmith传递到我的应用程序,直到我重新启动我的SERVER!注销客户端不工作。重新启动应用程序池不起作用。只有完全重启。

有谁知道这里发生了什么?是否有某种命令,我可以使用刷新任何缓存给我这个问题?我的服务器配置不正确吗?

注意:我绝对不想重新启动IIS,我的应用程序池或机器。由于这是一个生产箱,这些不是真正可行的选择。

AviD –

是的,他们的UPN和他们的登录名一起改变。和Mark / Nick …这是一个生产企业服务器…它不能只是重新启动或IIS重新启动。

跟进(为后代):

Grhm的答案是spot-on。在您没有很多人使用您的应用程序但在缓存中保留用户身份的足够请求的低容量服务器中,此问题会弹出。 KB的关键部分,似乎描述为什么缓存项目不刷新默认10分钟后是:

我不确定在我们的代码是什么导致这(循环查询),但对我们工作的决议是将LsaLookupCacheExpireTime值从看似淫秽默认值1周,只是几个小时。这对我们来说,将用户在真实世界中受到影响的概率降低到基本上为零,但同时不会导致针对我们的目录服务器的大量SID名称查找。如果应用程序通过SID查找用户信息而不是将用户数据映射到文本登录名,则更好的解决方案是IMO。 (注意,供应商!如果您在应用程序中依赖于AD身份验证,则需要将SID放入您的身份验证数据库!)

解决方法

我最近有类似的问题,如罗伯特·麦克莱answer中所述,AviD的组策略更改不工作,如果你不是作为用户登录。

我发现更改LSA查找缓存大小,如描述是MS KB946358工作,而不重新启动或回收任何apppool或服务。

我发现这是一个类似问题的答案:Wrong authentication after changing user’s logon name

大佬总结

以上是大佬教程为你收集整理的asp.net – IIS将旧用户名返回到我的应用程序全部内容,希望文章能够帮你解决asp.net – IIS将旧用户名返回到我的应用程序所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。