Убедитесь, что вы включили windows аутентификацию в iis на уровне сайта, а остальные отключены:
Откройте «Редактор конфигурации» »Для вашего приложения / сайта.
Перейдите в раздел« system.web / authentication »в Редакторе конфигурации.
Установите для «режима» аутентификации значение «Windows» и сохраните изменения.
Перезапустите IIS, чтобы убедиться, что ваши изменения вступили в силу, а затем проверьте доступ - доступ должны иметь только пользователи, принадлежащие к разрешенной группе.
Вы также можете попробовать использовать следующий код:
public bool AuthenticateGroup(string userName, string password, string domain, string group)
{
if (userName == "" || password == "")
{
return false;
}
try
{
DirectoryEntry entry = new DirectoryEntry("LDAP://" + domain, userName, password);
DirectorySearcher mySearcher = new DirectorySearcher(entry);
mySearcher.Filter = "(&(objectClass=user)(|(cn=" + userName + ")(sAMAccountName=" + userName + ")))";
SearchResult result = mySearcher.FindOne();
foreach (string GroupPath in result.Properties["memberOf"])
{
if (GroupPath.Contains(group))
{
return true;
}
}
}
catch (DirectoryServicesCOMException)
{
}
return false;
}
, на который вы могли бы ссылаться ниже ссылка для более подробной информации:
https://serverfault.com/questions/352647/restrict-access-to-iis-site-to-an-ad-group
https://forums.iis.net/t/1226581.aspx
https://forums.asp.net/t/2152453.aspx?Using+AD+groups+to+authorise+access+to+pages+using+IIS+Windows+Authentication+ASP+NET+Core+2+1