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-core – Asp.net Core中的UserHostAddress
- asp.net-mvc – 如何使用统一依赖注入的Automapper?
- Asp.net mvc – 获取上传文件的完整文件名
- asp.net-web-api – 默认使用ASP.NET Web API返回json
- asp.net – MVC IIS7 = CSS问题
- asp.net-mvc – 如何在Kendo模板中动态设置列
- Asp Classic返回具体的http状态码
- asp.net-mvc – 使用jquery进行模型绑定ajax序列化不起作用
- asp.net-mvc-3 – 用于在ASP.NET MVC3中使用Grid.MVC编辑记
- asp.net-mvc – ASP.NET MVC中的动态(运行时生成)窗体
- 何时在ASP.NET管道中初始化会话状态
- asp.net-mvc – 使用Entity Framework在控制器中
- ASP.NET网站中的预定作业,无需购买专用服务器
- 在asp.net mvc2项目中不需要MS脚本的JQuery验证
- asp.net-mvc-4 – 为什么MVC4捆绑和缩小使我的文
- asp.net核心 – 无法在IISExpress中启动ASP.NET
- 将搜索框添加到ASP.Net动态数据列表页面
- asp.net – Response.Redirect和线程被中止错误?
- ASP.NET System.Data.EntityClient连接字符串帮助
- asp.net-mvc – ASP.NET MVC应用程序的WatiN最佳
