LightSwitch как источник данных
В дополнение к использованию LightSwitch для создания приложения можно также использовать его как средний уровень, чтобы предоставлять данные для других приложений.Если публиковать данные приложения из LightSwitch на веб-сервер или в просини Windows, предоставлены эти данные как открыть службу протокола данных (OData).OData предоставляет стандарт для взаимодействия со службами данных через интернет.Во многих предприятиях сегодня используют OData для обмена данными между системами и участниками, в дополнение к предоставлению доступа в них хранилища данных.Поскольку OData стандартный протокол, практически любых других клиентских приложений на платформе или устройстве могут получить доступ к данным, создании или которому предоставляется через LightSwitch.
Создание службы OData
Служба OData автоматически создана для каждого источника данных в приложении с отдельной конечной точкой для каждого источника данных.Эта возможность не применяется только к таблицам, указанные в встроенной базе данных, но также к любому вложенный источником данных, таким как база данных SQL Server, список SharePoint или даже другая служба OData.
Все бизнес-логика и разрешения пользователя, указанной для сущностей, выполняются, когда конечная точка будет получить доступ, независимо от того, какой клиент обращается к службе.Вместо бизнес-логика записи и разрешения пользователя указание для каждого клиентского приложения можно использовать средний уровень LightSwitch как место для централизовать код.
Доступ к службам LightSwitch OData
При развертывании приложения LightSwitch в конфигурации 3 уровней (средний уровень или при размещении службы в IIS или просини Windows), конечные точки службы предоставлены.Имена служб соответствуют именам пользовательских источников данных.Например, пример приложения, в Пошаговое руководство. Создание приложения Vision Clinic предоставляет 2 конечной точки службы, поскольку он имеет 2 источника данных: ApplicationData база данных, которая внутреннеприсуща, а в базе данных SQL PrescriptionContoso, присоединяется.Если приложение было развернуто на веб-сайте, который называется "www.contoso.com" конечные точки службы будет https://www.contoso.com/ApplicationData.svc и https://www.contoso.com/PrescriptionContoso.svc.
Внутри каждой службы можно переходить к всем наборам сущностей, которые моделируются в конструкторе данных.OData определяет набор операций запроса, которые можно выполнить на данных с помощью набора соглашений универсальный код ресурса (uri).Можно запросить службу с запросом HTTP-GET, а служба возвратит канала с результатами в ответе.Например, можно запросить службу PrescriptionContoso клиники зрения с помощью универсального кода ресурса (uri) https://www.contoso.com/PrescriptionContoso.svc/Products для возврата результирующего набора, содержащего все записи из сущностей products.
Примечание |
---|
Чтобы просмотреть необработанные данные канала в Internet Explorer, необходимо отключить флажок Включить показ ленты чтения канала. |
Запросы OData учитывается регистр; при указании products вместо Products, то запрос не возвратит никаких результатов.Далее можно уточнить запросов OData несколькими способами.Например, можно использовать запрос https://www.contoso.com/PrescriptionContoso.svc/Products(1) для возвращения только продукт, который имеет идентификатор 1.Чтобы возвратить все продукты в объективе заботят категория, можно использовать запрос https://www.contoso.com/PrescriptionContoso.svc/Products?Category='Lens Care.Все бизнес-правила или разрешения, указанные в LightSwitch по-прежнему применяются.Поэтому пользователям, которым необходимо выполнить предыдущие запросы, необходимо разрешение на просмотр продуктов.
Аналогично, протокол OData задает стандартный способ навигация по связям с помощью свойств навигации.Например, можно использовать запрос https://www.contoso.com/PrescriptionContoso/Products(1)/ProductRebates чтобы найти скидки для продукта, который имеет идентификатор 1 в связанной таблице ProductRebates.OData поддерживает множество других операций запроса как OrderBy, Top, Skip и Sort.Дополнительные сведения см. в разделе OData: Соглашения uri.
Защита служб LightSwitch OData
В большинстве случаев требуется отслеживать права доступа и обновления данных в службе OData.Можно контролировать доступ для приложений LightSwitch с помощью его параметров.LightSwitch поддерживает 3 параметра проверки подлинности: None, формы и Windows.
Если выбрана проверка подлинности с помощью форм, то LightSwitch включает 2 режимов проверки подлинности.Один режим пользовательский протокол, который использования диалогового окна входа в систему и который использует пользовательский интерфейс API для веб-службы для передачи учетных данных и получить файл cookie форма- проверки подлинности.Если запрос данных отсутствует допустимый файл cookie форма- проверки подлинности, то LightSwitch отвечает с возможностью HTTP основной.Этот ответ позволяет клиентам, которые не были разработаны в LightSwitch для способность учетных данных по стандартным протокол HTTP.Если выбрана проверка подлинности Windows, то LightSwitch требует прошедший проверку пользователь Windows предоставляет учетные данные.Дополнительные сведения см. в разделе Аутентификация и авторизация LightSwitch.
Любой механизм проверки подлинности используется, следует рассмотреть использование безопасности уровня транспортировка- по протоколу HTTPS, чтобы предоставить учетные данные, токены, и данные.Без HTTPS, формы основные учетные данные и токены форма- проверки подлинности транспортируется в виде обычного текста.Проверка подлинности Windows, но более безопасно, без HTTPS, все данные, передаваемые между клиентом и сервером, по-прежнему будут обычным текстом.Чтобы избежать этого, LightSwitch имеет параметр HTTPS в мастере публиковать, который вызывает приложение потребоваться наличие безопасного соединения.Если этот параметр включен, запросы будут перенаправитьы от HTTP, HTTPS, но по-прежнему должны получить и настроить сертификат HTTPS на своем веб-сайте.Дополнительные сведения см. в разделе Вопросы безопасности LightSwitch.
В дополнение к предоставлению доступа к приложению, можно также использовать безопасность на основе ролей в LightSwitch чтобы ограничить доступ к отдельным сущностям.Например, можно разрешить все авторизованные пользователи на значение сведения о заказе, но только заведущие могут отображать сведения о зарплате.Дополнительные сведения см. в разделе Аутентификация и авторизация LightSwitch.
LightSwitch не предоставляет напрямую механизм скрывать или исключить наборы сущностей или свойства сущности из конечной точки OData.Все действия подключении к уровню данных будет видна в конечной точке службы.Можно контролировать доступ к этим ресурсам с помощью встроенных методов управления доступом в коде службы данных.Дополнительные сведения см. в разделе Выполнения задач, связанных с данными, с помощью кода.
В следующем примере показан код, который предотвращает пользователя от обновления или удаления в данные сущности продуктов:
Namespace LightSwitchApplication
Public Class PrescriptionContosoService
Private Sub Product_CanUpdate(ByRef result As Boolean)
result = False
End Sub
Private Sub Product_CanDelete(ByRef result As Boolean)
result = False
End Sub
Private Sub Product_CanInsert(ByRef result As Boolean)
result = False
End Sub
End Class
End Namespace
namespace LightSwitchApplication
{
public partial class PrescriptionContosoService
{
partial void Product_CanUpdate(ref bool result)
{
result = false;
}
partial void Product_CanDelete(ref bool result)
{
result = false;
}
partial void Product_CanInsert(ref bool result)
{
result = false;
}
}
}
LightSwitch также предоставляет строка- уровень фильтрации с помощью метода EntitySet_Filter.С помощью этого метода можно возвратить меньший набор записей сущности.Следующий пример возвращает только те записи клиента, имеющих TerritoryID 5.
Private Sub Customers_Filter(ByRef filter As Expression(Of Func(Of Customer, Boolean)))
filter = Function(e) e.TerritoryId = 5
End Sub
private void Customers_Filter(ref Expression<Func<Customer, bool>> filter)
{
filter = e => e.TerritoryId == 5;
}
Использование служб LightSwitch OData
Любое приложение, которое поддерживает OData на любой платформе может использовать потоки OData из LightSwitch.Методы подключиться к каналу OData зависят от приложения, но обычно нужно указывать только конечную точку службы LightSwitch.
Документация LightSwitch содержит ряд примеров приложений, использующих OData.
Дополнительные сведения об использовании OData из другого приложения LightSwitch см. в разделе Пошаговое руководство. Предоставление доступа к службе OData и ее использование в LightSwitch.
Дополнительные сведения об использовании OData из приложения Магазина Windows см. в разделе Пошаговое руководство. Использование данных LightSwitch в приложении для Магазина Windows.
Дополнительные сведения об использовании OData из Microsoft Excel см. в разделе Пошаговое руководство. Использование служб LightSwitch в Excel с использованием PowerPivot.
См. также
Задачи
Аутентификация и авторизация LightSwitch
Пошаговое руководство. Предоставление доступа к службе OData и ее использование в LightSwitch
Пошаговое руководство. Использование данных LightSwitch в приложении для Магазина Windows
Пошаговое руководство. Использование служб LightSwitch в Excel с использованием PowerPivot
Основные понятия
Предоставление доступа к данным приложения LightSwitch