var sums = Orders.GroupBy(x => new { x.CustomerID, x.ProductID })
.Select(group => group.Sum(x => x.ProductCount));
На самом деле вам не нужно связываться с сервером Active Directory из вашего кода PP для достижения желаемого, учитывая тот факт, что вы используете IIS в качестве веб-сервера.
Ключевым словом здесь является Встроенная проверка подлинности Windows - это формулировка, которую djn искал . Если этот параметр включен (и анонимный доступ запрещен) IIS будет проверять предоставленные учетные данные на соответствие Active Directory и привилегиям файловой системы NTFS запрошенных ресурсов. Таким образом, вы можете контролировать доступ к своим файлам, используя простые механизмы контроля доступа NTFS.
Если ваши пользователи используют IE, они даже не используют его. им необходимо ввести свои учетные данные, поскольку это делается автоматически через так называемый SPNEGO (простой и защищенный механизм согласования GSSAPI) и его базовые механизмы Kerberos или NTLMSSP в зависимости от на то, что ваш клиент и сервер способны обрабатывать.
Насколько мне известно, Firefox также может автоматически передавать учетные данные для входа в Windows на ваш сервер. Вам нужно только настроить параметр конфигурации , чтобы включить эту функцию - не знаю, действительна ли эта информация для Firefox 3.5.x.
Если вы используете Apache на * nix- системе вам придется прибегнуть к некоторому серверному модулю для обработки интегрированной системы аутентификации Windows -подобной системе. Возможные варианты (не знаю, поддерживаются ли они на самом деле или стабильны):
Для Apache в Windows есть:
mod_ntlm
(устарело; не то же самое, что mod_ntlm
выше) mod_auth 1233] (преемник mod_ntlm
)
Имейте в виду, что большинство этих модулей кажутся очень старыми.
Сейчас работаю над аналогичной настройкой: я пропустил весь этот LDAP-материал, когда веб-сервер аутентифицирует клиента с помощью AD, прежде чем впустить его (извините, я не могу вспомнить, как это называется альтернативная вселенная M $).
Если клиент достигает сценария PHP, он находится в AD, и у меня есть его имя пользователя в $ _ SERVER ["AUTH_USER"]
и в $ _ SERVER ["LOGON_USER "]
, иначе он никогда не доберется до сценария.