加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – Active Directory安全组和用户角色更改的时间延

发布时间:2020-12-16 03:49:39 所属栏目:asp.Net 来源:网络整理
导读:我正在使用Active Directory为我的Web应用程序中的用户分配角色. 但是,我发现在更改AD中的用户安全组分配与传播给正在使用该应用程序的用户的更改之间似乎存在很长时间的延迟. 实际上,当我从AD检索C#中的用户角色时,它们是最新的,但是当我运行此代码来查看用
我正在使用Active Directory为我的Web应用程序中的用户分配角色.
但是,我发现在更改AD中的用户安全组分配与传播给正在使用该应用程序的用户的更改之间似乎存在很长时间的延迟.
实际上,当我从AD检索C#中的用户角色时,它们是最新的,但是当我运行此代码来查看用户的角色时,它们直到第二天才会更新.如何从AD即时进行用户角色更新?

var identity = WindowsIdentity.GetCurrent();
var groups = from sid in identity.Groups select sid.Translate(typeof(NTAccount)).Value;
foreach (var group in groups)
{
    groupName = group;
}

解决方法

发生这种情况是因为Kerberos授权信息存储在本地计算机(您的应用服务器)的高速缓存内存中,因此您可能无法获取非最新数据.

你有2个选择:

>强制更新服务器上的票证授予票证(TGT)
>使用UserPrincipal.GetAuthorizationGroups使您的组不是来自应用服务器而是来自AD.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读