LightSwitch jako zdroj dat

Kromě použití LightSwitch k vytváření aplikací, můžete také jej jako střední úroveň poskytnutí dat do jiných aplikací.Při publikování dat aplikace z LightSwitch na webový server nebo Windows Bledě azurová, data vystavena jako služba otevřený protokol dat (OData).OData poskytuje standard pro komunikaci s daty služby přes web.Mnoho podniků dnes použít výměnu dat mezi systémy a partnery, kromě poskytování přístupu do jejich úložišť dat OData.Protože OData je standardní protokol, data vytvoření nebo prostřednictvím přístup jiných klientských aplikací na téměř všechny platformy nebo zařízení LightSwitch.

Vytváření služby OData

Služby OData je automaticky vytvořena pro každý zdroj dat v aplikaci, pomocí samostatného koncový bod pro každý zdroj dat.Tato možnost se týká pouze tabulky, které definují vnitřní databáze, ale také libovolný zdroj připojených dat, například databáze serveru SQL Server, seznam služby SharePoint nebo i jiné služby OData.

LightSwitch poskytuje více koncových bodů OData

Obchodní logiku a uživatelských oprávnění, definované pro subjekty bude spuštěn při přístupu ke koncovému bodu, bez ohledu na to, co klient přistupuje k služby.Místo psaní obchodní logiku a definování uživatelských oprávnění pro každou klientskou aplikaci, můžete použít LightSwitch střední úroveň jako místo pro centralizaci kódu.

Přístup k službám LightSwitch OData

Při zavádění LightSwitch aplikace (hostování střední úroveň v Internetová informační služba nebo Windows Bledě azurová), konfiguraci třívrstvá koncové body služby jsou vystaveny.Názvy služeb odpovídají názvy datových zdrojů.Například ukázková aplikace v Názorný postup: Vytváření aplikace Vision kliniky poskytuje dva koncové body služby, protože má dva zdroje dat: ApplicationData databáze, která je vnitřní, a PrescriptionContoso SQL databáze, která je připojena.Pokud aplikace byly nasazeny na web s názvem "www.contoso.com", koncové body služby by https://www.contoso.com/ApplicationData.svc a https://www.contoso.com/PrescriptionContoso.svc.

V rámci každé služby můžete procházet všechny sady entity, které jsou modelovány v návrháři datových.OData definuje sadu operací dotazu, které lze provádět s daty pomocí sady URI úmluv.Dotaz lze službu s HTTP-GET žádost a služba bude v odpovědi vrátit krmiva s výsledky.Můžete například dotaz služby kliniky vize PrescriptionContoso s identifikátorem URI https://www.contoso.com/PrescriptionContoso.svc/Products vrátit sadu výsledků obsahující všechny záznamy z produktů entity.

[!POZNÁMKA]

Syrového krmiva data zobrazit v aplikaci Internet Explorer, je nutné zakázat zapnout zobrazení čtení na krmné políčko.

OData dotazy jsou velká a malá písmena; Pokud zadáte produkty namísto produkty, dotaz vrátí žádné výsledky.Upřesnit OData dotazy několika způsoby.Můžete například použít https://www.contoso.com/PrescriptionContoso.svc/Products(1) dotaz vrátí pouze produkt, který má kód ProductID 1.Vrátit všechny produkty v kategorii péči objektivu, můžete použít https://www.contoso.com/PrescriptionContoso.svc/Products?Category='Lens péči " dotazu.Všechny obchodní pravidla nebo oprávnění definovaných v LightSwitch stále platí.Uživatelé, kteří chtějí spustit předchozí dotazy proto třeba oprávnění k zobrazení produktů.

Protokol OData podobně definuje standardní způsob velitelského vztahů prostřednictvím vlastnosti navigačního.Můžete například použít https://www.contoso.com/PrescriptionContoso/Products (1) / ProductRebates dotazu pro vyhledání rabaty pro produkt, který má ProductID 1 v související tabulce ProductRebates.OData podporuje mnoho dalších operací dotazu jako OrderBy, Top, Skip, a Sort.Další informace naleznete v OData: URI konvence.

Zabezpečení služby LightSwitch OData

Ve většině případů budete chtít řídit, kdo může přístup a aktualizace dat v OData služby.Můžete řídit přístup LightSwitch aplikace pomocí jeho nastavení.LightSwitchpodporuje tři nastavení ověřování: žádná, formulářů a systému Windows.

Pokud zvolíte ověřování pomocí formulářů, LightSwitch umožňuje dva způsoby ověřování.Jeden režim je vlastní protokol, že používá pole přihlašovací dialogové okno a který používá vlastní rozhraní API pro webovou službu předat pověření a získat soubor cookie ověřování formulářů.Pokud žádost o data nemá soubor cookie platný ověřování formulářů, LightSwitch odpoví výzvu HTTP Basic.Tato odpověď umožňuje klientům, které nebyly vyvinuty v LightSwitch předat pověření prostřednictvím standardního protokolu HTTP.Pokud zvolíte ověřování systému Windows LightSwitch vyžaduje pověření ověřeného uživatele systému Windows.Další informace naleznete v tématu Ověřování a autorizace v aplikacích LightSwitch.

Jakékoli mechanismus ověřování pomocí, měli byste zvážit použití transport level security přes HTTPS zabezpečená pověření a tokeny údaje.Bez ověřování formulářů HTTPS, formulářů a základní pověření jsou přepravovány tokeny jako prostý text.Ověřování systému Windows je bezpečnější, ale bez HTTPS, všech dat předávaných mezi klientem a serverem bude stále ve formátu prostého textu.Zmírnění, LightSwitch má v Průvodci publikováním, který způsobuje, že aplikace vyžaduje zabezpečené připojení nastavení protokolu HTTPS.Toto nastavení povoleno, požadavky přesměrovány z HTTP na HTTPS, ale stále nutné získat a konfigurace certifikátu HTTPS na vašem webu.Další informace naleznete v tématu Důležité informace o zabezpečení pro LightSwitch.

Kromě zabezpečení přístupu k aplikaci, můžete také použít zabezpečení založené na rolích v LightSwitch omezit přístup k určité subjekty.Například může umožnit všem ověřeným uživatelům zobrazit data objednávky, ale mzdová data můžete zobrazit pouze Nadřízení.Další informace naleznete v tématu Ověřování a autorizace v aplikacích LightSwitch.

LightSwitchneposkytuje přímou mechanismus skrytí nebo vyloučení entity sad a vlastnosti entity z koncového bodu OData.Ať připojíte k na úroveň dat bude viditelný na koncový bod služby.Můžete řídit přístup k prostředkům pomocí metod řízení integrovaný přístup v kódu služby data.Další informace naleznete v tématu Provádění úkolů souvisejících s daty pomocí kódu.

Následující příklad zobrazuje kód, který zabraňuje uživateli aktualizaci nebo odstranění dat v entitě produkty:

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;
      }
   }
}

LightSwitchobsahuje také filtrování na úrovni řádku s EntitySet_Filter metoda.Pomocí této metody můžete vrátit menší sadu záznamů z entity.Následující příklad vrátí pouze záznamy zákazníků, jejichž 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;
}

Náročné LightSwitch OData služby

Jakékoli aplikace, která podporuje OData na libovolné platformě může spotřebovat kanály OData z LightSwitch.Metody pro připojení OData krmiva se liší podle aplikace, ale obvykle dodávají pouze LightSwitch koncový bod služby.

LightSwitch Dokumentace obsahuje několik příkladů aplikací, které spotřebovávají OData.

Viz také

Úkoly

Ověřování a autorizace v aplikacích LightSwitch

Názorný postup: Vystavení a spotřebovávat služby OData v LightSwitch

Postupy: Používání dat z aplikací LightSwitch v aplikacích pro web Windows Store

Názorný postup: LightSwitch služby v aplikaci Excel pomocí PowerPivot spotřebovávat

Koncepty

Úniku dat aplikace LightSwitch

Důležité informace o zabezpečení pro LightSwitch

Provádění úkolů souvisejících s daty pomocí kódu