如何强制更新Windows 7中的用户组成员?

我正在编写一个使用.NET Windows身份validation的Web应用程序,并依赖用户的成员来授予他们到网站的各个区域。 现在我在开发机器不是一个域的一部分,不使用广告,而是我只是使用本地用户组。 一般来说,这是正常工作。

但是,当我testing应用程序时,我需要添加和删除我的用户帐户中的angular色来validation事情正在工作。 当我添加angular色时,它似乎不会传播,直到我注销Windows并再次login。

是否有可能强制更新组成员资格,而不必注销?

    taskkill.exe /F /IM explorer.exe runas /user:%USERDOMAIN%\%USERNAME% explorer.exe 

    这将杀死资源pipe理器,然后重新打开你的用户帐户…它会提示你input密码,这将得到一个新的令牌,从而更新您的会员资格。

    这在系统范围内很难执行,但是对于单个可执行文件,通过杀死他们的进程并在用户凭证下重新启动它们是可能的。

    当您login时,您会收到一个反映您的组员身份的令牌,等等。 刷新此令牌的唯一方法是login。

    我也有类似的情况,依赖用户在AD中的会员资格来login网站。 需要考虑的一件事就是让Web服务器使用提供的凭证对AD服务器执行身份validation/查询; 如果Web服务器可以访问AD,并且只是向服务器查询用户是否在XYZ组中,他们将从AD获得一个列表,而不是从需要login/注销的用户的login令牌获得一个新的具有适当权限的令牌。

    我现在从描述中知道你的开发机器没有这个访问权限,但是当你部署它的时候听起来像是你的意思,你需要这个function。

    如果您依赖于令牌,则必须注销并返回。

    有一个完全通过命令行完成的脚本方式; 你可以使用klist 。

     klist purge 
    • 打开任务pipe理器
    • 杀死Explorer.exe(每一个)
    • 单击文件>新build任务(运行…)
    • inputCMD
    • 在命令提示符下键入“RunAs / user:\ explorer.exe”

    完成。