我正在使用OWIN-MixedAuth对网站用户进行身份验证。在 Win10 机器上使用 VS2015 在本地运行它一切都很好。将其部署到 AD 域中的生产 Windows 2008 R2 服务器时,User.Identity 不是 ClaimsIdentity,它是缺少 NameIdentifier 声明的 WindowsIdentity,GetuserId 返回 null。
在 Startup.Auth.cs 我设置了以下 cookie 选项。登录路径指向此处推荐的“帐户/windowslogin” 。
var cookieOptions = new CookieAuthenticationOptions {
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
LoginPath = new PathString(ConfigurationManager.AppSettings["LoginPath"]),
Provider = new CookieAuthenticationProvider {
OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager, IdentityUser, Guid>(
TimeSpan.FromMinutes(30),
async (manager, user) => await user.GenerateUserIdentityAsync(manager),
(id) => new Guid(id.GetUserId())),
}
};
任何想法为什么 IIS 7.5 在这里表现不同?
干杯伯恩德