Развертывание службы данных ADO.NET - PullRequest
6 голосов
/ 13 апреля 2009

Каков наилучший способ защитить службы данных ADO.NET? Кто-нибудь использовал это в производстве, если да, какие варианты безопасности вы использовали?

Ответы [ 3 ]

2 голосов
/ 13 октября 2009

Вот запись в блоге , в которой подробно объясняется, как защитить службу данных ADO .NET.

1 голос
/ 14 октября 2009

@ tbreffni публикует хорошую запись в блоге. В дополнение к этому в вашей службе данных ado.net вы устанавливаете правила доступа к сущностям, чтобы контролировать, как предоставляется доступ к различным сущностям в модели данных базовых сущностей.

Предположим, у вас есть следующий код:

public class Northwind : DataService<NorthwindEntities>
{
    public static void InitializeService(IDataServiceConfiguration
                                                   config)
    {
        config.SetEntitySetAccessRule("*", EntitySetRights.All);
    }
}

метод SetEntitySetAccessRule позволяет вам ссылаться либо на всю модель сущности, либо только на конкретный набор сущностей, а затем определять разрешения на основе перечисления EntitySetRights. В перечислении присутствуют следующие значения:

Нет Запрещает все права на доступ к данным.

ReadSingle Авторизация для чтения отдельных элементов данных.

ReadMultiple Разрешение на чтение наборов данных.

WriteAppend Авторизация для создания новых элементов данных в наборах данных.

WriteReplace Авторизация для замены данных.

WriteDelete Разрешение на удаление элементов данных из наборов данных.

WriteMerge Авторизация для объединения данных.

AllRead Авторизация для чтения данных.

AllWrite Авторизация для записи данных.

Все Авторизация для создания, чтения, обновления и удаления данных.

Пошаговое руководство по использованию служб Microsoft ADO.NET проходит через этот процесс здесь . Перечисление EntitySetRights задокументировано здесь .

0 голосов
/ 08 октября 2009

Вы имеете в виду защищенные отдельные типы запросов или весь сервис? Если весь сервис, то вы можете использовать стандартные методы обеспечения безопасности IIS, такие как проверка подлинности Windows. В контролируемой среде Windows, где веб-служба потребляет службы, вы можете установить один ID домена в качестве авторизованного пользователя между блоками. Конечно, используйте SSL для обеспечения безопасности шифрования данных.

...