Autor Beitrag
Doug123
Hält's aus hier
Beiträge: 13



BeitragVerfasst: Sa 29.12.07 16:37 
Hi!

Ich wollte mir eine kleine Adressverwaltung schreiben und möchte aber auch eine Benutzerverwaltung einbauen. Sprich, man kann im Programm neue Benutzer anlegen und ihnen Rechte zuweisen, wie z.B. "anlegen" oder "nur lesen". Wenn ein Benutzer also nur das Recht hat "nur lesen", dann soll der Button zum anlegen eines neuen Datensatzes disabled sein. Beim Starten des Programms soll dann eine kleine Login-Form erscheinen, wo dann überprüft wird ob der Benutzer vorhanden ist.

Mein Problem ist jetzt, wenn man sich angemeldet hat, wie kann man dann den Benutzer über die ganzen "Forms" hinweg speichern, damit man weiß welche Attribute er hat? Wie könnte man das am besten lösen?

Ich hoffe, ihr könnt mir bei meinem Problem weiterhelfen!

Gruß
Doug
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Sa 29.12.07 17:46 
Hallo,

eine Möglichkeit ist eine Singleton-Klasse CurrentUser, z.B. in folgender Struktur:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
//  die Klasse mit dem Benutzer
public class CurrentUser {
  private CurrentUser instance = null;
  public static CurrentUser Instance {
    get { if (instance == null)
            instance = new CurrentUser();
          return instance; }
  }

  private CurrentUser() { }
  private string username;   //  dazu jeweils Properties
  private bool mayUpdate;
  public void SetUser(string setUsername, bool setMayUpdate) {
    //  Werte des aktuellen Benutzers eintragen
  }
}

//  Registrierung nach dem Login
CurrentUser.Instance.SetUser("Jürgen"true);

//  Zugriff aus jeder anderen Stelle im Programm
if (CurrentUser.Instance.MayUpdate)  //  dann darf er ändern

Gruß Jürgen
Doug123 Threadstarter
Hält's aus hier
Beiträge: 13



BeitragVerfasst: Sa 29.12.07 20:01 
Erstmal danke für deine Antwort JüTho!

Also, ich würde beim Login in der Datenbank überprüfen, ob es diesen User gibt und wenn es ihn geben sollte, dann rufe ich folgenden Part auf....

ausblenden C#-Quelltext
1:
2:
//  Registrierung nach dem Login
CurrentUser.Instance.SetUser(Wert des Datenbankfeldes "User", Wert des Datenbankfeldes "Darfschreiben");


Und das könnte ich im "Form_Load" einer anderen "Form" abfragen und dementsprechend die Buttons enablen oder disablen, nicht wahr?

ausblenden C#-Quelltext
1:
2:
//  Zugriff aus jeder anderen Stelle im Programm
if (CurrentUser.Instance.MayUpdate)



Gruß
Doug
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Sa 29.12.07 20:35 
Richtig verstanden! Jürgen