Maciej D.

Maciej D. Analityk

Temat: logowanie poprzez accessa do drugiej bazy accesowej

mam taki case:

- baza accessowa na serwerze [10.10.10.10\bazka.accdb] z tabelami: klientow, transakcjami i pracownikami (w ktorej przechowywane sa ich loginy i hasla)
- pracownicy maja wjazd do tej bazy po sieci wylacznie po zalogowaniu poprzez formatke u siebie w accessie

Q: w jaki sposob zmusic DLookup do odszukania danych w bazce do ktorej sie podlaczamy?

--------------------
Dim dbsBazka As DAO.Database

Set dbsBazka = DBEngine.Workspaces(0).OpenDatabase("10.10.10.10\bazka.accdb")

If IsNull(Me.txtLogin) Or Me.txtLogin = "" Then
MsgBox "Wprowadz nazwe uzytkownika.", vbOKOnly, "UWAGA"
Exit Sub
End If

If Me.txtPassword.Value = DLookup("[haslo]", "tblPracownicy", "[login]=" & Me.txtLogin.Value) Then
...
---------------------

DLookup odwoluje sie wylacznie do bazki localnej a nie tej do ktorej sie podlaczylismy = dbsBazka
google nic nie podpowiada.
Wojciech Muszyński

Wojciech Muszyński Tworzenie aplikacji
bazodanowych
(Oracle, APEX,
Access)

Temat: logowanie poprzez accessa do drugiej bazy accesowej

1.Wchodzisz do bazy "roboczej".
2.Wybierasz tabele i dodajesz "tabele połączoną".
(W Accessie 2003 robi się to przez klikniecie prawym klawiszem i wybranie "Połącz tabele" - niestety nie mam na tym komputerze nowszej wersji Accessa. Nazwa bazka.Accdb sugeruje nowszą wersje access'a - musisz sprawdzić jak tam się tworzy tabele połączone)
3. Wskazujesz tabele w bazie "docelowej".
4.a. Tworzony jest "link" do tabeli w drugiej bazie (w zasadzie to tworzona jest tabela połączona).
4.b. Jeżeli wskazana tabela ma taką samą nazwą jak tabela już istniejąca w bazie "roboczej", to tabela połączona dostaje dodatkową cyferkę na końcu.
5. DLookup robisz na tabeli połączonej

Tabele połączoną traktujesz tak jak tablice lokalną.Wojciech Muszyński edytował(a) ten post dnia 24.02.13 o godzinie 10:46
Maciej D.

Maciej D. Analityk

Temat: logowanie poprzez accessa do drugiej bazy accesowej

Wojciech Muszyński:
1.Wchodzisz do bazy "roboczej".
2.Wybierasz tabele i dodajesz "tabele połączoną".
(...)
Tabele połączoną traktujesz tak jak tablice lokalną.

bralem to pod uwage, ale z tym sie wiaze jeden problem, po zlinkowaniu tabeli mozna sobie przegladac co w niej siedzi, tzn podejrzec liste wsztstkich userow/imion nazwisk i uprawnien. nie jest to akceptowalne rozwiazanie niestety.

chyba ze istnieje jakas opcja wylaczenia mozliwosci podejrzenia zawartosci tabeli po jej zlinkowaniu?
Wojciech Muszyński

Wojciech Muszyński Tworzenie aplikacji
bazodanowych
(Oracle, APEX,
Access)

Temat: logowanie poprzez accessa do drugiej bazy accesowej

Maciej D.:
bralem to pod uwage, ale z tym sie wiaze jeden problem, po zlinkowaniu tabeli mozna sobie przegladac co w niej siedzi, tzn podejrzec liste wsztstkich userow/imion nazwisk i uprawnien. nie jest to akceptowalne rozwiazanie niestety.

Generalnie tworzenie własnego systemu logowania w Accessie, w postaci tabeli z loginami i hasłami to zbrodnia na bezpieczeństwie systemu.

Zapewnia to tylko "pseudobezpieczeństwo". Większość programistów poradzi sobie z dotarciem do odpowiedniej tabeli i odczytaniu danych w niej zawartych.
W systematycznym ataku - musi to paść.
Pozwala natomiast na zabezpieczenie, przed przypadkowym wlogowaniem się. W normalnym użytkowaniu, gdy ufamy operatorom to czasami wystarcza.
Też mi się czasami zdarzało takie coś zrobić.

Jak ukryć pojedynczą tabelę - tego nie wiem.
Natomiast wiem jak ukryć przed użytkownikiem wszystkie tabele i bardzo często to stosuję.
Należy wejść w menu NARZĘDZIA/URUCHOMIENIE
Pojawia się okno dialogowe, w którym należy wybrać formularz startowy aplikacji (np. okno logowania, lub panel menadżera aplikacji) oraz ODZNACZYĆ opcję "pokaż okno bazy danych").

Oczywiście cała aplikacja musi być tak napisana, aby dało się nawigować pomiędzy poszczególnymi formularzami, bez użycia okna bazy danych. Podobnie wszystkie raporty muszą być wywoływane z formularzy.
Dariusz Kolasa

Dariusz Kolasa Akademia VBA

Temat: logowanie poprzez accessa do drugiej bazy accesowej

dim rs as dao.recordset, haslo as string
set rs=db.openrecordset("select haslo from tabela where login = " & login)
haslo=rs!haslo

tak mniej więcej...

konto usunięte

Temat: logowanie poprzez accessa do drugiej bazy accesowej

Wojciech Muszyński:
Jak ukryć pojedynczą tabelę - tego nie wiem.

Do ukrycia pojedynczej tabeli użyj instrukcji
CurrentDb.TableDefs("NazwaTabeli").Attributes = 1

Przy odkrywaniu zamiast 1 wstawiamy 0.
Jeżeli stosujemy takie rozwiązanie, to warto też ukryć tabelę MSysObjects. Tylko czy warto? Zabezpieczy to nas przed 'klikanym przeszperaniem' bazy, nie ukryje natomiast zawartości przed ciekawskim eskuelkiem
SELECT * FROM MSysObjects


[dream mode]Może kiedyś doczekamy się czasów, kiedy wbudowane zabezpieczenia Accessa (czy też Excela) zostaną rozbudowane do poziomu stosowanego np. w MS SQL Server ;-) [/dream mode]

--
Paweł Kiraga, piszący blog o praktycznym wykorzystaniu pakietu Microsoft OfficePaweł K. edytował(a) ten post dnia 04.03.13 o godzinie 00:26

konto usunięte

Temat: logowanie poprzez accessa do drugiej bazy accesowej

Paweł K.:
[dream mode]Może kiedyś doczekamy się czasów, kiedy wbudowane zabezpieczenia Accessa (czy też Excela) zostaną rozbudowane do poziomu stosowanego np. w MS SQL Server ;-) [/dream mode]

ale to było z plikiem System.mdw dało się zrobić GRANT SELECT dla usera na tabelkę

konto usunięte

Temat: logowanie poprzez accessa do drugiej bazy accesowej

Przemysław R.:
Paweł K.:
[dream mode]Może kiedyś doczekamy się czasów, kiedy wbudowane zabezpieczenia Accessa (czy też Excela) zostaną rozbudowane do poziomu stosowanego np. w MS SQL Server ;-) [/dream mode]

ale to było z plikiem System.mdw dało się zrobić GRANT SELECT dla usera na tabelkę

Było, było. Ale to też nie taki poziom zabezpieczeń, jakiego można sobie życzyć.
A gdyby tak wbudować (oprócz uprawnień tabela/kwerenda) chociażby uprawnienia do kolumn czy (zaszalejmy) szyfrowanie wybranych obiektów lub kolumn w bazie?
Sławomir Broda

Sławomir Broda VBA, Excel, Access,
SAP i wszystko
związane z
automatyzac...

Temat: logowanie poprzez accessa do drugiej bazy accesowej

Paweł K.:
Przemysław R.:
Paweł K.:
[dream mode]Może kiedyś doczekamy się czasów, kiedy wbudowane zabezpieczenia Accessa (czy też Excela) zostaną rozbudowane do poziomu stosowanego np. w MS SQL Server ;-) [/dream mode]

ale to było z plikiem System.mdw dało się zrobić GRANT SELECT dla usera na tabelkę

Było, było. Ale to też nie taki poziom zabezpieczeń, jakiego można sobie życzyć.
A gdyby tak wbudować (oprócz uprawnień tabela/kwerenda) chociażby uprawnienia do kolumn czy (zaszalejmy) szyfrowanie wybranych obiektów lub kolumn w bazie?
To by się duży brat przestał sprzedawać. Uwalenie mdw to czysty marketing.

konto usunięte

Temat: logowanie poprzez accessa do drugiej bazy accesowej

Paweł K.:
Było, było. Ale to też nie taki poziom zabezpieczeń, jakiego można sobie życzyć.
A gdyby tak wbudować (oprócz uprawnień tabela/kwerenda) chociażby uprawnienia do kolumn czy (zaszalejmy) szyfrowanie wybranych obiektów lub kolumn w bazie?

po co? bierzesz plik z danymi i w nogi, na innym komputerze robisz co chcesz
Sławomir Broda:
To by się duży brat przestał sprzedawać. Uwalenie mdw to czysty marketing.

raczej zdrowy rozsądek, po co zabezpieczenie które nie jest zabezpieczeniem tylko utrudnieniem
Sławomir Broda

Sławomir Broda VBA, Excel, Access,
SAP i wszystko
związane z
automatyzac...

Temat: logowanie poprzez accessa do drugiej bazy accesowej

Przemysław R.:
Paweł K.:
raczej zdrowy rozsądek, po co zabezpieczenie które nie jest zabezpieczeniem tylko utrudnieniem
Nie zgadzam się. Zarządzanie uprawnieniami obiektów to bardzo fajna sprawa, którą z nowym formatem zabrali.

konto usunięte

Temat: logowanie poprzez accessa do drugiej bazy accesowej

Sławomir Broda:
Przemysław R.:
Paweł K.:
raczej zdrowy rozsądek, po co zabezpieczenie które nie jest zabezpieczeniem tylko utrudnieniem
Nie zgadzam się. Zarządzanie uprawnieniami obiektów to bardzo fajna sprawa, którą z nowym formatem zabrali.

ile czasu trzeba na złamanie tych zabezpieczeń? w sekundach oczywiście
chodzi o to żeby nie dawać złudnego poczucia bezpieczeństwa bo to niezdrowe
Sławomir Broda

Sławomir Broda VBA, Excel, Access,
SAP i wszystko
związane z
automatyzac...

Temat: logowanie poprzez accessa do drugiej bazy accesowej

Przemysław R.:
Sławomir Broda:
Przemysław R.:
Paweł K.:
raczej zdrowy rozsądek, po co zabezpieczenie które nie jest zabezpieczeniem tylko utrudnieniem
Nie zgadzam się. Zarządzanie uprawnieniami obiektów to bardzo fajna sprawa, którą z nowym formatem zabrali.

ile czasu trzeba na złamanie tych zabezpieczeń? w sekundach oczywiście
chodzi o to żeby nie dawać złudnego poczucia bezpieczeństwa bo to niezdrowe
Komu ? Tobie ? Czy pozostałym 99,5% użytkowników accessa ?
Prosty przykład. Masz hasło na konto windowsa ? W ile sekund każdy może Ci je zdjąć ?

konto usunięte

Temat: logowanie poprzez accessa do drugiej bazy accesowej

Sławomir Broda:
Komu ? Tobie ? Czy pozostałym 99,5% użytkowników accessa ?
Prosty przykład. Masz hasło na konto windowsa ? W ile sekund każdy może Ci je zdjąć ?

zdalnie czy lokalnie? ;)

plik system.mdw jest o tyle niebezpieczny że można łatwo odszyfrować hasła userów i nie ma żadnych ograniczeń jeżeli chodzi o pobieranie takiego pliku - kopiujesz i masz

teraz taki plik odszyfruje każdy kto umie posługiwać się googlem

Następna dyskusja:

Dobry Kurs Accessa




Wyślij zaproszenie do