Как я создаю безопасный веб-сервис с .NET?

Вы можете использовать:

var d = new Date();
d = new Date(d.getTime() - 3000000);
var date_format_str = d.getFullYear().toString()+"-"+((d.getMonth()+1).toString().length==2?(d.getMonth()+1).toString():"0"+(d.getMonth()+1).toString())+"-"+(d.getDate().toString().length==2?d.getDate().toString():"0"+d.getDate().toString())+" "+(d.getHours().toString().length==2?d.getHours().toString():"0"+d.getHours().toString())+":"+((parseInt(d.getMinutes()/5)*5).toString().length==2?(parseInt(d.getMinutes()/5)*5).toString():"0"+(parseInt(d.getMinutes()/5)*5).toString())+":00";
console.log(date_format_str);
8
задан Community 23 May 2017 в 12:09
поделиться

5 ответов

Необходимо сильно рассмотреть использование IIS и Windows для обеспечения аутентификации. IIS может отобразить входящие запросы на AD пользователя (NTLM, Сертификаты, Kerberos, и т.д.). Оттуда, у Вас будет WindowsPrincipal, который можно использовать, чтобы потребовать, чтобы пользователь был в группе. Если Вы не возражаете компилировать название группы в код, можно даже использовать PrincipalPermissionAttribute на сервисных методах, таким образом, это было бы абсолютно декларативно.

При помощи Windows Вы заставляете платформу иметь дело со всеми проблемами безопасности. Пароли не будут переданы в простом тексте, и при этом Вы не должны будете создавать и указывать свою собственную систему типов проблемы/ответа (фу). Различные клиенты могли пройти проверку подлинности по-разному (потребуйте сертификатов для некоторых, позвольте NTLM для других).

Наконец, Вы закончите с меньшим количеством кода, так как можно использовать Windows для управления пользователями и Платформой.NET для осуществления проверок безопасности.

Править:

Возможно, Вы думаете, защищая ASMX, hacky, потому что это - единственный шаг, на который Вы смотрите? Я согласился бы! Веб-сервис, который только зависит, что Вы отклонили анонимные звуки, очень слабые действительно. Сам код веб-сервиса должен потребовать состава группы после того, как аутентификация будет сделана. Тот путь при неправильном конфигурировании сервера Вы сделали его недоступным, весьма безопасным.

3
ответ дан 6 December 2019 в 00:08
поделиться

Используйте WCF. Это требует.NET 3.0, или выше (точно также используют 3,5 SP1), но это - просто.NET 2.0 с несколькими пакетами обновления и некоторыми новыми блоками, таким образом, это безопасно.

Я рекомендую против когда-либо нового использования веб-сервисов ASMX для новой разработки, если нет никакого выбора.

Вы, возможно, читали о "WSE" или "Расширениях веб-сервиса". Они являются устаревшими, и были рядом расширений веб-сервисов ASMX для реализации WS -* набор протоколов. От этого Microsoft узнала, что платформа ASMX не была достаточно расширяема, и поэтому создала WCF (Windows Communication Foundation). Избегайте WSE как чумы.

1
ответ дан 6 December 2019 в 00:08
поделиться

У меня были эта проблема на прошлой неделе и я choosed SOAP с SSL. Я также combinded это с как зашифрованный ключ MD5 данных. Это применяется, конечно, только если Вы - "владелец" и сервера и клиента.

0
ответ дан 6 December 2019 в 00:08
поделиться

WCF является способом пойти. Это предлагает много возможных решений по обеспечению безопасности, некоторые основанные на стандартах и совместимые, некоторая.NET или конкретный Windows.

Быстрый поиск на 'безопасности WCF' даст Вам много ресурсов, но я предлагаю, чтобы Вы запустили с этой статьи: 'Основные принципы безопасности WCF' с помощью Michele Leroux Bustamante.

0
ответ дан 6 December 2019 в 00:08
поделиться

Можно также попробовать 2 пути SSL IIS, это позволит Вам удостовериться, что клиент - то, кто они говорят, что они - шифруют данные по строке и также выполняют веб-сервис как различные пользователи на основе сертификата, который предоставлен.

0
ответ дан 6 December 2019 в 00:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: