Delphi - TIBSecurityService komponens

Interbase 15. rész

forráskód letöltése
A most olvasható részben az InterBase adatbázisunkat használók jellemzőit állíthatjuk be a TIBSecurityService komponens használatával. Megismerkedünk a szerepkörök fogalmával és kezelésével. A bemutatott komponens működését a gyakorlatban egy példaprogramban követhetjük nyomon. Szerepkörök egy SQL adatbázis esetében

A szerepkör privilégiumok halmaza, melyek felhasználók vagy más szerepkörök számára megadhatók. A szerepkörök az adatbázis-privilégiumok adminisztrálására használhatók. A szerepkörökhöz privilégiumok rendelhetők, a szerepkörök felhasználókhoz adhatók. Ezek után a felhasználó engedélyezheti a szerepkört és használhatja a szerepkör által garantált privilégiumokat. Egy szerepkör mindazokat a privilégiumokat tartalmazza, melyeket a szerepkörnek adományoztak, és mindazokat, amelyeket más szerepkörök adományoztak neki. Egy új szerepkör kezdetben üres. A privilégiumok hozzáadása a GRANT paranccsal történik.
A szerepkört a következő paranccsal hozhatjuk létre:
CREATE ROLE szerepkör.
A szerepkör a létrehozni kívánt szerepkör neve.

Példa
Hozzunk létre egy ugyintezo nevű szerepkört:
CREATE ROLE ugyintezo;
Hozzunk létre egy ugyintezo nevű szerepkört ugy jelszóval:
CREATE ROLE ugyintezo IDENTIFIED BY ugy;
Fontos a szerepkörökkel kapcsolatban a privilégiumokról megjegyeznünk, hogy azok a privilégiumok, amelyeket a szerepkörön át kapunk, érvénytelenek tárolt eljárásokban.
Egy szerepkört módosíthatunk az ALTER ROLE, vagy törölhetünk a DROP ROLE utasításokkal.
Változtassuk meg a fenti szerepkor jelszavát ’’hatralek’’-ra:
ALTER ROLE ugyintezo  IDENTIFIED BY hatralek;
A TIBSecurityService
A felhasználók adatelérési lehetőségeinek szabályozása minden rendszer esetében egy központi, nagyon fontos kérdés. Erre kapunk lehetőséget a TIBSecurityService komponens használatával. A komponens feladata, hogy egy felhasználó adatait módosítsuk, töröljük, vagy új felhasználót adhassunk a rendszerhez.
A komponens tulajdonságai
  • Active: A komponenst működésbe helyezhetjük, ha igaz értékűre állítjuk. Hamis érték esetén megszakad a kapcsolat a szerverrel.
  • FirstName: A felhasználó keresztneve.
  • GroupID: A felhasználó csoportazonosítóját állíthatjuk be vagy kérdezhetjük le.
  • LastName: A felhasználó vezetékneve.
  • LoginPrompt: A szerverhez történő kapcsolódáskor megjelenjen-e az alapértelmezett, belépést ellenőrző párbeszédablak.
  • MiddleName: A felhasználó középső neve.
  • Params: A belépéshez szükséges paramétereket állíthatjuk be.
  • Password: A felhasználó jelszava.
  • Protocol: Az adatbázishoz való kapcsolódás módját írja le. Kapcsolódhatunk helyi (Local) szerverhez, vagy a kapcsolat létrejöhet hálózaton keresztül is (TCP, NamedPipe, SPX).
  • SecurityAction: Meghatározza, hogy milyen műveletet szeretnénk végezni. Lehetséges értékei:
- ActionAddUser: Felhasználó hozzáadása.
- ActionDeleteUser: Felhasználó törlése.
- ActionDisplayUser: Felhasználó adatainak megjelenítése.
- ActionModifyUser: Felhasználó adatainak módosítása.
  • ServerName: Ha a Protocol tulajdonságnál valamelyik hálózati kapcsolatot állítottuk be, akkor itt kell megadnunk annak a gépnek a nevét, amelyiken adatbázis-szerverünk található. Ha a Protocol tulajdonságot Local értékűre állítottuk, akkor itt adjuk meg a gépünk nevét. Fontos, hogy ezt a mezőt mindig meg kell adni.
  • SQLRole: Meghatározhatjuk, hogy mely szerepkört kapja a felhasználó az adatbázishoz való csatlakozáskor.
  • TraceFlags: A nyomkövetési információkat állíthatjuk be a TIBSQLMonitor komponens számára. A beállítás értékek leírása a TIBSQLMonitor komponensről szóló cikkben olvashatók.
  • UserID: A felhasználót azonosító szám.
  • UserInfo: Egy adott felhasználóról szolgáltat információt a TUserInfo rekord használatával, amely tartalmazza a bejelentkezési nevet, a felhasználó valódi nevét, a felhasználói- és a csoportazonosító számot.
  • UserInfoCount: Megadja, hogy a UserInfo tulajdonság hány elemet tartalmaz.
  • UserName: A bejelentkezési név.
Események
  • OnAttach: Az adatbázishoz kapcsolódáskor bekövetkező esemény.
  • OnLogin: A bejelentkezéskor aktiválódó esemény.
Metódusok
  • AddUser: Felhasználó felvétele.
  • DeleteUser: Felhasználó törlése.
  • DisplayUser: Egy felhasználó adatainak a megjelenítését végző esemény.
  • DisplayUsers: Minden felhasználó adatát megjelenítő esemény.
  • ModifyUser: Felhasználó adatainak módosítása.
A példaprogramunk elkészítéséhez csak egy IBSecurityService komponenst, néhány szerkesztőmezőt és keretet használunk. Ha gépünkre telepítettünk hálózati elemeket is, akkor ki tudjuk próbálni a TCP kapcsolatot, ha ismerjük saját gépünk nevét. Csak a megfelelő beállításokat kell elvégeznünk.

Interbase cikksorozat