【发布时间】:2012-07-17 15:30:24
【问题描述】:
我们有一个 WCF 服务,可以根据机器上的本地 Windows 帐户验证用户的凭据,但是,每当创建新用户或更改密码时,用户无法登录,直到我重新启动整个机器。
我可以做些什么来告诉它根据当前用户设置检查凭据,并且不要使用旧的?
using (var pContext = new PrincipalContext(ContextType.Machine))
{
if (pContext.ValidateCredentials(username, password))
{
using (var context = new LHREntities(Connections.GetConnectionString()))
{
// Do work
}
}
}
我正在使用 .Net framework 4.0 和 Windows Server 2003。如果我在我的机器上运行 Visual Studio 中的所有内容,则一切正常,并且根据当前设置正确检查凭据,但是一旦我将其部署到生产机器上的 IIS ,它似乎针对缓存的凭据进行验证。
【问题讨论】:
-
@vcsjones 不,他们是机器上的本地 Windows 用户。
-
本地运行时,是在Cassini上还是在本地IIS实例上?我问是因为每次调试时都会刷新应用程序域(可能还有进程)。
-
@casperOne WCF 服务和应用程序都在 Visual Studio 工作时运行
标签: c# wcf credentials directoryservices