PDA

Vollständige Version anzeigen : Eigenes/Zusätzliches Sicherheitssystem für Access (Benutzer-, Systemcheck)


WeinGeist
26.08.2008, 16:47
Hallo Leute,

Um mich einmal ein wenig zu bedanken für den ganzen Support den ich hier schon öfter von den Profis bekommen habe, habe ich mich entschieden ein oft gefragtes Thema aus meiner Datenbank zu lösen.

Die Beispieldatei richtig sich an erfahrene Access-Benutzer. Die Verwendung und eventuelle Auswirkungen sind nicht ganz ohne. Sprich Neulinge sollten besser die Finger davon lassen. Ist nur ein gutgemeinter Tipp. ;)

Fuktionsumfang Version 0.7 BETA
Anmelderoutinen:
- Developer Zugang
- Anmeldung via User Tables
- Anmeldung via Active Directory
- Gruppenmitgliedschaftsüberprüfung
- Gruppenmitgliedschaftsüberprüfung rekursiv für AD

Hardwarüberprüfungen
- Überprüfung der SystemID der HD
- Überprüfung ob ein bestimmtes File vorhanden ist
- Überprüfung ob der Computername für die DB freigegeben ist
- Überprüfung ob die MAC-Adresse übereinstimmt

Verschlüsselung:
- MD5-Hashes
- RC4
- Primitive KryptMethode

Sonstiges
- FormHandler Klasse mit diversen Einstellungen
- Spezielle Inputbox mit vielen Funktionen
-- Passwortabfrage
-- Formatierung mit *
-- Mit Bestätigungsfeld
-- Mit Eingabe früherer Wert bevor geändert wird
- Erweiterte MsgBox (Autor unbekannt, von ehemaliger Access-Guru-Seite)
- GUI implementierung nach UweK's grafischem Vorbild.
-- Funktionen ersetzt durch Klassen, gebündelt in der FormHandler-Klasse
-- Erweitert mit Passwort-Felder Formatierung * oder Vorder-/Hintergrundfarbe gleich
-- Erweitert mit einer Pic-Variablen-Überprüfung vor den Zuweisungen um Object-Errors zu vermeiden
-- Erweitert mit Auto-Zentrierung/Gleichschaltung der drei Hoover-Steuerlemente.
-- Erweitert mit einer Mauszeigerveränderung beim hoovern eines Buttons


Ich habe zwar alles möglichst gut durchgeckeckt, aber Bugs gibts bekanntlich immer, daher eben noch BETA-Stadium. :grins:

Hoffe ein paar können damit etwas anfangen. Das meiste sollte eigentlich selbsterklärend sein.

So gut als möglich werde ich hier support geben. Allerdings ist meine Zeit aktuell äussert beschränkt, daher wird es wohl manchmal etwas dauern.

Also, dann mal ran an den Speck, freue mich über Feedback: aufgrund von Irritiationen wurde der nicht mehr funktionierende Link entfernt. Der Download ist hier im Thread (als rar bzw. zip) zu finden, also bitte etwas runterscrollen.
Gesplitteter Download in Beitrag #16: Demo-Datenbank - Eigenes/Zusätzliches Sicherheitssystem …



Herzliche Grüsse
Weingeist

PS: Leider war mir bei einigen Code-Schnipseln die ich irgendwo, irgendwann mal gefunden habe nicht immer der Author bekannt. Also wenn jemand etwas findet dann soll er mir das bitte mitteilen, dann kommt er mit in den Quellcode.

Josef P.
26.08.2008, 18:53
Hallo Urs!

Ich überflog deine Beispiel-mdb nur kurz, fand den Code aber sehr übersichtlich.
Damit fand ich schnell jene Einstellung heraus, um die mdb zum Laufen zu bekommen. ;)

gcSecurityCheckSystem = 1
Mit diesem Parameter schließt sich die Anwendung sofort wieder, da beim ersten Öffnen der Eintrag in der Tabelle "USys_Computers" fehlte.
Vielleicht wäre es für die Demo sinnvoller diesen Wert erstmal auf 0 zu stellen.
Andererseits besteht mit der aktuellen Einstellung keine Gefahr, dass ein unerfahrener Access-Benutzer die mdb kopiert, ohne das Konzept zu verstehen. :D

BTW: Wenn man im Anmeldedialog ist, kommt man ohne korrekte Logindaten nicht mehr hinaus. (Wäre vielleicht überlegenswert, dass bei Klick auf "Abbrechen" die Anwendung beendet wird.)

mfg
Josef

WeinGeist
26.08.2008, 19:34
Hi Josef

Deine PM kam übrigens nicht an, weil Postfach voll war. Evtl noch ma schicken. :rolleyes:

Betreffend dem Beenden beim Start:
Hmm... das liegt aber vermutlich daran, dass nicht mein empfohlener Ordner verwendet wurde oder? Sprich du hast ReadMeFirst wie ich auch meist nie mache wohl nicht gelesen.... :grins:

Eigentlich müsst er aber vor allen überprüfungen doch die Backend neu einbinden können... Noch mal drüber gucken.
EDIT: Stimmt, das wird vermutlich noch vor der Aktivierung der Backdoor abgefragt. Werde mal sehen was sich da machen lässt...
EDIT2: Habe den Fehler gefunden, die Backdoor für die tabelle gibts gar nicht *lol* Werde eine neue uploaden wo die Hardcoding-Variante Standardmässig drinn ist. Da wird beim Demo-Mode automatisch der aktuelle computer mit allem drum und drann hinzugefügt.

Betreffend dem Abbrechen-Button. Das ist schon in Planung bzw. diese funktion gibt es eigentlich auch schon. Allerdings hatte ich die bei mir wieder deaktiviert weil ich genau das vermeiden wollte und manchmal dann etwas seltsame Sachen passiert sind...
War ursprünglich durch die verschieden Start-Optionen des Formulars geregelt. Also DatenbankStart, Variablen-Verlust, Einmal-Berechtigungen usw. Je nach Wert hab ich dann den Abbrechen-Button bestückt.
Vielleicht bau ichs aber wieder ein. Hat sich seit der letzten Verwendung ziemlich viel verändert.

Grüssle Urs

WeinGeist
26.08.2008, 20:10
So habe den Fehler korrigiert, sollte nicht mehr auftreten, trotz Systemprüfung.

Josef P.
26.08.2008, 20:13
Betreffend dem Beenden beim Start:
Hmm... das liegt aber vermutlich daran, dass nicht mein empfohlener Ordner verwendet wurde oder? Sprich du hast ReadMeFirst wie ich auch meist nie mache wohl nicht gelesen.... :grins:
ich las die Readme durchaus. Nur stecke ich keine test-mdb ins Programme-Verzeichnis.
Ich öffnete dafür die mdb mit gedrückter Umschalttaste, stellte den passenden Anwendungspfad ein und aktualisierte die Verknüpfungen.

EDIT2: Habe den Fehler gefunden, die Backdoor für die tabelle gibts gar nicht *lol* Werde eine neue uploaden wo die Hardcoding-Variante Standardmässig drinn ist. Da wird beim Demo-Mode automatisch der aktuelle computer mit allem drum und drann hinzugefügt.
Das machte ich manuell. Ich erwähnte ja bereits, dass ich deinen Code übersichtlich fand und daher schnell die notwendigen Einstellungen wie das Hinzufügen des eigenen Computers manuell setzen konnte. ;)

Die einfachste Einstellung für die Demo wäre meiner Meinung: gcSecurityCheckSystem = 0 ;)

WeinGeist
27.08.2008, 07:30
ich las die Readme durchaus. Nur stecke ich keine test-mdb ins Programme-Verzeichnis.
Ich öffnete dafür die mdb mit gedrückter Umschalttaste, stellte den passenden Anwendungspfad ein und aktualisierte die Verknüpfungen.

OK das klingt auch vernünftig. :)


Das machte ich manuell. Ich erwähnte ja bereits, dass ich deinen Code übersichtlich fand und daher schnell die notwendigen Einstellungen wie das Hinzufügen des eigenen Computers manuell setzen konnte. ;)
Danke für die Blumen :)


Die einfachste Einstellung für die Demo wäre meiner Meinung: gcSecurityCheckSystem = 0 ;)Wäre natürlich auch ne Möglichkeit

Grüsse Urs

WeinGeist
10.09.2008, 14:14
Mittlerweile ein paar Kleine Änderungen vorgenommen und ein paar Bugs mit den Zusatzcodes beseitigt.

RookieOne
09.10.2008, 15:33
Hallo Weingeist,

unter Access 2003 erhalte ich eine Fehlermeldung, nachdem ich im kleinen Formular mit den Developer-Zugangsdaten OK geklickt habe. Die Meldung habe ich als Screenshot in den Anhang gesetzt.

In der VBA-Entwicklungsumgebung springt der Cursor zu folgender Position:


Private Function MinMaxFullBandwithControls(DoMax As Boolean)
On Error GoTo ErrorHandler
'Minimiert oder maximiert alle Controls die dafür vorgesehen sind.
'Aufruf vor der Änderung der Formulargrösse
Dim I As Integer
With m_colControlsForMax
For I = 1 To .Count '<---- Hier rennt Access auf einen Fehler
If DoMax = True Then
MaxFormControl .Item(I)
Else
.Item(I).Width = 1
End If
Next
End With
ExitMethod:
Exit Function
ErrorHandler:
Resume ExitMethod
End Function


Jetzt grübele ich, wie ich dein Beispiel problemlos testen kann.

Gruß, Daniel

WeinGeist
09.10.2008, 15:36
Hi, hast du die Verweise mal überprüft? Hast du die Demo-DB benutzt oder die Objekte in ein eigenes Importiert? --> evtl. fehlt die ControlHandler-Klasse.

Grüsse und so

RookieOne
10.10.2008, 07:57
Hallo WeinGeist,

die Verweise hatte ich noch nicht geprüft; geöffnet habe ich die Demo-DB. Ich habe sie, wie empfohlen, in den Pfad 'C:\Programme\Access Beispiele\Benutzerverwaltung - Weingeist' gespeichert.

Gruß, RookieOne

xStaer
28.08.2009, 11:21
Hallo,

erstmal ein großes Lob zu dieser Anwendung.

Ich habe da Fragen:

1. Kann ich die Berechtigungen auf Objekte wie Tabellen, Formulare ... weiterhin über das Menü "Benutzer und Gruppenberechtigungen" setzen oder geht das mit deiner DB auch?

2. Ich habe im Moment in einigen Projekten mdw Datenbanken im Einsatz welche ich gerne ansteuern würde, bzw. am liebsten durch einen integrierte Berechtigungssteuerung ersetzen möchte. Kann man in deiner DB die aktuell angemeldeten Benutzer erkennen?

3. Ich kann die Passwörter nicht ändern. Ich bekomme immer die Meldung "Anlegen einen neuen Passwortes gescheitert", weiß aber nicht woran das liegt.

Gruß xStaer

iman
22.11.2009, 17:12
Hallo WeinGeist,

wo finde ich denn die aktuelle Datei zur Benutzerverwaltung?
Beim Klick auf den Link erhalte ich eine Fehlermeldung...
Thx.

Ciao
iman

Lanz Rudolf
14.01.2010, 17:30
Hallo
wenn es jemanden gibt der diese Lösung noch hat
bitte Hoch laden der Link Geht nicht mehr
und Weingeist erreiche ich auch nicht :(

tutulla
15.01.2010, 08:52
Hallo, Rudolf,

ich hab die Anwendung auch gesucht und von einem freundlichen Forumsteilnehmer die DB erhalten. Ich schick Dir eine PN

Liebe Grüße
tutulla / Heike

Lanz Rudolf
15.01.2010, 09:09
Hallo
sehr interesant
Danke Dir für Deinen Aufwand tutulla / Heike :)

WeinGeist
16.02.2010, 16:30
Hallo Leute,

Entschuldigt, dass die DB nicht mehr Online war. Bin mangels Zeit nicht mehr viel in Foren aktiv.

Habe das Beispiel in ein mehrfach RAR gesplittet. So sollte das auch hier gehen.

Grüsse und so

avogt_at_home
24.03.2010, 12:39
Hallo,
da ist ein Fehler im Modul mod_Security Function GetNewPassword.
Dim sErgebnis As Boolean löst einen Typ-Fehler aus, da in die Variable ein String geschrieben wird.
Umändern nach Dim sErgebnis As String bringt den gewünschten Erfolg.

Gruß Andreas

Louisleon
30.06.2010, 18:38
Hallo Weingeist,

da viele Forumsteilnehmer keine RAR-Dateien öffnen bzw. herunterladen können, war ich so frei die RAR-Dateien in ein geteiltes 7ZIP-Archiv umzuwandeln.
Da die Erweiterung ".001" etc. nicht zum Upload berectigt sind, habe ich ".zip" hinten angestellt. Also vor dem Auspacken wieder umbenennen.

Ich denke (hoffe) du bist damit einverstanden.

Ist leider nicht so performant wie RAR, daher ein bischen größer und in zwei Teile.

Hier Part1!

Gruß

LL

Louisleon
30.06.2010, 18:39
Und hier Part2!

Gruß

LL

key6
09.08.2010, 08:46
Die website ist offline wo bekomm ich das tool her ?!

Arne Dieckmann
09.08.2010, 15:57
:D In Beitrag #16 dieses Threads findest du den Download im "Rar"-Format: Demo-Datenbank - Eigenes/Zusätzliches Sicherheitssystem …, in den beiden Beiträgen direkt über deinem Beitrag ist das Ganze im gesplitteten "Zip"-Format zu finden.

bolger62
12.04.2011, 11:32
Hallo
sehr interesant
Danke Dir für Deinen Aufwand tutulla / Heike :)

Ich würde mich auch gerne inspiriieren lassen. Darf ich um einen Link nachfragen...

LG
Bolger

bolger62
12.04.2011, 11:37
Ich würde mich auch gerne inspiriieren lassen. Darf ich um einen Link nachfragen...

LG
Bolger


- oder bis nach unten scrollt - ist klar im Vorteil...
Hat sich also erledigt.

Lanz Rudolf
12.04.2011, 12:21
Hallo
bei mir können weder die Rar aus #16 noh die Zip aus #18
geöffnet werden :(

WeinGeist
13.04.2011, 14:35
Hallo zusammen,

Sorry für die späte Antwort, bin etwas eingespannt.

Ich vermute es liegt daran, dass die Backend nicht im Ordner wie in der ReadMe angegeben abgelegt ist. Bei Windows 7 beispielsweise in der Deutschen Fassung gar nicht möglich.

Lösung: DB mit gedrückter Shift Taste starten, erst die Tabellenverknüpfungen aktualisieren und dann weitermachen. File überprüfungen funktionieren natürlich auch nicht, wenn man sie aktiviert. Weil der reale Pfad nicht c:\Programme... ist. ;)

Auf manchen Systemen muss evtl. erst ein Decompile durchgeführt werden. Ist nicht wirklich normal, kann aber nach ein paar Fehlstarts der MDB möglich sein. --> Liegt an der GUI-Features, nicht an dem Code für die Anmeldungen.

Grüsse und so

baracudo
02.01.2012, 09:09
Bitte, prüfen, oder neue laden. DANKE.

Scorefun
04.01.2012, 15:25
Bitte, prüfen, oder neue laden. DANKE.

Beitrag #16, #18 , #19 gelesen?

Arne Dieckmann
04.01.2012, 17:23
Damit nicht häufiger nachgefragt wird, habe ich den ersten Beitrag etwas überarbeitet und den Downloadlink entfernt.

MaSp
10.04.2012, 09:26
Hallo zusammen,

könnte mir bitte jemand die Datenbank zukommen lassen?

Besten Dank euch allen :)

hcscherzer
10.04.2012, 11:15
@MASp: in #16, #18 und #19 sind die doch drin, die Beispiele ...