Laden...

Globale Variable, für Usernamen

Erstellt von Grimmbizkit vor 17 Jahren Letzter Beitrag vor 17 Jahren 1.526 Views
G
Grimmbizkit Themenstarter:in
308 Beiträge seit 2006
vor 17 Jahren
Globale Variable, für Usernamen

Hallo

ich habe eine Anwendung mit Login. Wenn der Login erfolgreich war, möchte ich den Usernamen in einer globalen Variable speichern, um ihn dann in weiteren Formularen der Anwendung nutzen zu können.

Wie geht sowas, oder gibt es da eine bessere Methode?

Gruß Simon

Gelöschter Account
vor 17 Jahren

Wie geht sowas

static

oder gibt es da eine bessere Methode?

ich würde einen singleton-userklasse machen, somit kannst du sicherstellen das es nur einen user gibt und zudem kannst du die klasse jederzeit erweitern wenn du mehrere informationen zum user ablegen willst.

eine andere möglichkeit ist das der username immer mit durchgereicht wird.

G
Grimmbizkit Themenstarter:in
308 Beiträge seit 2006
vor 17 Jahren

Hi, danke für deine Hilfe,

aber wie erstelle ich eine
singleton-userklasse??

Gruß Simon

F
722 Beiträge seit 2005
vor 17 Jahren
F
10.010 Beiträge seit 2004
vor 17 Jahren

Wozu gibt es denn den Prinzipal im CurrentThread?

Gelöschter Account
vor 17 Jahren

Wozu gibt es denn den Prinzipal im CurrentThread?

Das .NET Framework bietet mehrere Möglichkeiten der Authentifizierung von Benutzern. Eine Lösung ist die Einrichtung von Benutzerkonten mit der Definition bestimmter Rechte, die so genannte rollenbasierte Sicherheit. .NET bietet dazu die Begriffe Identität (Benutzer) und Prinzipal (Zusammenhang zwischen dem Benutzer und der ihm zugestandenen Rollen/Rechten).

möchtest du aber in der form z.b. irgendwo stehen haben: sie sind eingeloggt als: -benutzername- dann wirst du irgendwo diesen benutzernamen ablegen müssen. willst du dir das alles selber basteln ohne jetzt dich mit der sicherheitsarchitektur von .net länger auseinanderseten zu müssen (das ist schon ein ganz schöner batzen text) dann ist ein singleton auch tragbar. aber da muss man halt wieder abwägen.

D
386 Beiträge seit 2007
vor 17 Jahren

Du kannst auch deinen eigenen IPrincipal bauen..
Singleton ist ein Antipattern. Es ist nahezu immer unnoetig.

Pound for pound, plutonium is about as toxic as caffeine when eaten.

F
10.010 Beiträge seit 2004
vor 17 Jahren

Zumal, wenn etwas schon da ist, und so einfach zu implementieren ist.


System.Threading.Thread.CurrentPrincipal = new GenericPrincipal(new GenericIdentity(userName), "");

Rollenverwaltung und ähnliches ist da dann auch schon bei.