Как авторизироваться через LDAP, или через какую-то библиотеку... Читая инфу по NTLM пока что получилось сделать вот какую "заглушку" по авторизации.
public partial class T : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (Request.Headers["WWW-Authenticate"]==null) {
if (Request.Headers["Authorization"] == null) {
Response.ClearContent();
Response.Headers.Add("WWW-Authenticate","NTLM");
Response.Status = "401 Unautorized";
Response.End();
return;
}
};
byte[] q1 = Convert.FromBase64String(Request.Headers["Authorization"].Substring(5)); // skip NTML
if (q1[8]==1) { /*Первый пакет авторизации*/
Response.ClearContent();
Response.Headers.Add("WWW-Authenticate","NTLM TlRMTVNTUAACAAAAAAAAACgAAAABggAAU3J2Tm9uY2UAAAAAAAAAAA==");
Response.Status = "401 Unautorized";
Response.End();/*Передали пакет номер 2*/
return;
}
Response.Write("<html>");/*тут получили пакет номер 3, не проверяю номер*/ Response.Write(Request.Headers["Authorization"].Substring(5));
Response.Write("<br>");
foreach (byte qq1 in q1) {
Response.Write(string.Format(" {0:x}",qq1));
}
Response.Write("<br>");
foreach (byte qq2 in q1) if (qq2 > 32) Response.Write((char)qq2);
}
Даже получив хеш пароля (он почему-то каждый раз - разный) не понятно как проверить его подлинность. В LDAP пускает по логину и паролю, можно ли в LDAP достучатся или по хешу (пробросить), или какую-то либу использовать, или зайти в LDAP под своим логином, и вычитать с него хеши... Да. Сервер не в домене (был бы в домене, его бы авторизировал IIS). Админы говорят - нельзя добавить. Но LDAP доступен.
Пока, как результат, есть куча ссылок... возможно из них можно что-то узнать... Я ознакомился с всеми
https://stackoverflow.com/questions/33525493/acceptsecuritycontext-fails-when-application-is-running-as-a-service https://winterdom.com/dev/security/sspi/
https://stackoverflow.com/questions/5293412/how-do-i-create-ntlm-type-1-and-type-3-messages-in-net
https://docs.microsoft.com/ru-ru/windows/desktop/SecAuthN/authentication-functions#credential-management
http://www.dotnetframework.org/default.aspx/WCF/WCF/3@5@30729@1/untmp/Orcas/SP/ndp/cdf/src/WCF/ServiceModel/System/ServiceModel/Security/WindowsSspiNegotiation@cs/2/WindowsSspiNegotiation@cs
http://github.com/antiduh/nsspi/tree/master/NSspi/Contexts
http://msdn.microsoft.com/en-us/library/ms973911.aspx#remsspi_topic3
https://stackoverflow.com/questions/17241365/client-server-authentication-using-sspi
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Товарищи, доброго времени суток! Чисто теоретический вопрос, есть понимание, как настроить автогенерацию итемов в ListView через ViewModel, путем...
Я делаю выборку из бд и получаю данныеВсе что надо заполняется
Подскажите можно ли средствами C# языка узнать является ли файлexe DotNet или Native ? Без дополнительных библиотек и прочего)
слишком медленный поиск данных в файлах, любая идея, как можно ускорить? в папке есть файлы, каждый файл имеет структуру: