Hallo zusammen,
ich bin jetzt schon seit einiger Zeit am rätseln, wie ich die bisherige Authentifizierung von ASP.NET Forms in ASP.NET Core Razor einbinden kann. Ich verstehe nicht so recht, wie ich das lösen kann.
Hier mal die derzeitige ASP.NET WebForms Logik in gekürzter Form.
Eingeloggt soll man demnach sein, wenn erfolgreich ein Mitarbeiter Objekt erstellt worden ist. Die Logindaten werden hierbei mit dem Active Directory verglichen. Das Object Mitarbeiter ist wichtig, da dieses Informationen über die Berechtigungen enthält, welche beim erstellen aus einer Firebird Datenbank geladen werden.
Ich habe jetzt schon viel zu Authentifizierung für ASP.NET Core gelesen, doch so ganz werde ich nicht schlau daraus.
Es gibt scheinbar zwei Methoden einen User zu Authentifizieren:
Ich kann aber scheinbar auch für die Identity Authentifizierung irgendwie eine eigene Logik festlegen
docs.microsoft.com/de-de/aspne…iders?view=aspnetcore-3.1
Hierraus werde ich aber nicht wirklich schlau.
Auf Basis der Claims Authentifizierung habe ich bereits ein ganz rudimentäres Loginsystem aufgebaut bekommen. Dabei bleibt die wesentliche Kernlogik dieselbe. Lediglich der Teil
wird ersetzt durch
Das Problem, welches ich dabei habe ist, dass ich das Object nicht übergeben kann. Die Session scheint es auch nicht mehr zu geben.
Gibt es eine Möglichkeit, wie ich hier bei erfolgreiche Authentifizierung weiter mit meinem erstellten Mitarbeiter-Objekt arbeiten kann?
Ich bin echt für jede Hilfe dankbar.
LG Marvin
ich bin jetzt schon seit einiger Zeit am rätseln, wie ich die bisherige Authentifizierung von ASP.NET Forms in ASP.NET Core Razor einbinden kann. Ich verstehe nicht so recht, wie ich das lösen kann.
Hier mal die derzeitige ASP.NET WebForms Logik in gekürzter Form.
C#-Quellcode
- protected void btnLogin_Click(object sender, EventArgs e)
- {
- string benutzername = $"{Config.Domäne}\\{username.Text}";
- string ldap = "LDAP://NAME";
- var eintrag = new DirectoryEntry(ldap, username.Text, password.Text);
- var _object = eintrag.NativeObject;
- DirectorySearcher searcher = new DirectorySearcher(eintrag);
- searcher.Filter = $"(SAMAccountName={username.Text})";
- searcher.PropertiesToLoad.Add("cn");
- SearchResult result = searcher.FindOne();
- if (result != null)
- {
- UserPrincipal user = WK5.Library.Basis.DomäneController.FindByIdentity(username.Text);
- if (user != null)
- {
- Mitarbeiter mitarbeiter = new Mitarbeiter(user);
- Session["CURRENT_MITARBEITER"] = mitarbeiter;
- FormsAuthentication.RedirectFromLoginPage(mitarbeiter.Name, true);
- }
- else
- throw new Exception();
- }
- }
Eingeloggt soll man demnach sein, wenn erfolgreich ein Mitarbeiter Objekt erstellt worden ist. Die Logindaten werden hierbei mit dem Active Directory verglichen. Das Object Mitarbeiter ist wichtig, da dieses Informationen über die Berechtigungen enthält, welche beim erstellen aus einer Firebird Datenbank geladen werden.
Ich habe jetzt schon viel zu Authentifizierung für ASP.NET Core gelesen, doch so ganz werde ich nicht schlau daraus.
Es gibt scheinbar zwei Methoden einen User zu Authentifizieren:
- Claims Authentifizierung
- Identity Authentifizierung
Ich kann aber scheinbar auch für die Identity Authentifizierung irgendwie eine eigene Logik festlegen
docs.microsoft.com/de-de/aspne…iders?view=aspnetcore-3.1
Hierraus werde ich aber nicht wirklich schlau.
Auf Basis der Claims Authentifizierung habe ich bereits ein ganz rudimentäres Loginsystem aufgebaut bekommen. Dabei bleibt die wesentliche Kernlogik dieselbe. Lediglich der Teil
C#-Quellcode
Das Problem, welches ich dabei habe ist, dass ich das Object nicht übergeben kann. Die Session scheint es auch nicht mehr zu geben.
Gibt es eine Möglichkeit, wie ich hier bei erfolgreiche Authentifizierung weiter mit meinem erstellten Mitarbeiter-Objekt arbeiten kann?
Ich bin echt für jede Hilfe dankbar.
LG Marvin