Color scheme: Dark
You are here: start » sl » Dokumentacija » Integracija podatkov in dostop do podatkov » WKL Database Gateway » Navodila » Povezava poslovne aplikacije

Povezava poslovne aplikacije

Poslovna aplikacija v Accessu z VBA bere matične podatke in knjiži prek procedur. Podatkovna zbirka naj vsako dejanje pripiše osebi, ki dela z aplikacijo. Aplikacija naj doseže le svoje objekte, ne vsega, do česar ima oseba sicer dostop.

Pregled rešitve

Prehod prepozna osebo, ne programa: zahteva iz aplikacije in zahteva iz Excela iste osebe sta zanjo enaki. Aplikacijo zato ločite z lastnim aliasom in pravilom za ta alias. Identiteto osebe posredujete strežniku SQL Server, da procedure, sprožilci in pogledi vedo, kdo izvaja dejanje.

UkrepUčinek
Lasten alias za aplikacijo (fachanwendung) na isti podatkovni zbirkiPravice aplikacije so ločene od poročil in drugih aplikacij
Pravilo z več vnosi za vsak aliasTu branje, tam pisanje prek procedur (glejte Obseg za posamezni alias)
Persons: Impersonate in lastna prijava za vsako osebo ali SESSION_CONTEXT(N'wkl.person')Podatkovna zbirka pozna osebo, ki izvaja dejanje
Preverjeni stavki namesto sqlLastne poizvedbe razreda VBA, preverjene po objektih glede na pravilo

Izvedba

  1. Ustvarite alias (DataSources), poimenovan po aplikaciji, in po želji Persons: Impersonate; glejte Posredovanje identitete oseb strežniku SQL Server.
  2. Ustvarite pravilo za aplikacijo, ki zajema le njene objekte:

    [ { "Id": "fachanwendung-auftrag", "Databases": [ "fachanwendung" ],
        "Resources": [ "views", "procedures" ], "Objects": [ "auftrag.*" ],
        "Verbs": [ "GET", "POST" ], "ReadOnly": false } ]

    Dodelite ga osebam ali njihovi skupini Windows (PersonRules, WindowsAccounts).

  3. Povežite Access prek gonilnika ODBC z aliasom fachanwendung: na službenem računalniku z računom Windows, od zunaj z osebnim ključem in kodo 2FA.
  4. Lastne poizvedbe razreda VBA omogočite kot preverjene stavke, ne s pravico sql; glejte Omogočanje lastnih stavkov SQL.
  5. Preverjanje: V strežniku SQL Server SUSER_SNAME() (z Impersonate) ali SESSION_CONTEXT(N'wkl.person') prikaže osebo; AuditEntries za vsako zahtevo navaja osebo, alias in objekt. Na objekt zunaj auftrag.* prek tega aliasa prehod odgovori z 404.

Rezultat: Aplikacija prek svojega aliasa doseže le svoje objekte; podatkovna zbirka za vsako knjižbo ve, katera oseba jo je sprožila.

Napotki

  • Aplikacija nima lastne identitete. Ključ vedno pripada osebi ali prehodu. Drug program iste osebe, ki uporablja isti alias, doseže iste objekte. Kjer to ne zadošča, mora odločiti podatkovna zbirka: pisanje dovolite le prek procedur, ki preverjajo lastna pravila.
  • Ključi storitve so namenjeni programom brez osebe (vmesniki, nočno usklajevanje); z njimi se identiteta nikoli ne zamenja.
  • Razred VBA in njegovo prijavo opisuje “DbGwClient – razred VBA za podatkovni prehod” (v dokumentaciji aplikacije za upravljanje).

Sorodne teme

sl/wiki/data-conectivity/database-gateway/how-to/connect-a-business-application.txt · Last modified: by Wolfgang van der Stille