auch einzelnutzer können sich registrieren
This commit is contained in:
@@ -97,15 +97,15 @@ public class AuthService(
|
||||
return (null, "Passwort muss mindestens 6 Zeichen lang sein.");
|
||||
|
||||
var tenantId = tenantProvider.TenantId;
|
||||
if (tenantId == null)
|
||||
if (tenantId == null && username.Equals("marc", StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
return (null, "Mitarbeiter-Registrierung ist nur über die Firmen-Subdomain möglich.");
|
||||
return (null, "Dieser Benutzername ist reserviert.");
|
||||
}
|
||||
|
||||
await using var db = await factory.CreateDbContextAsync();
|
||||
// Filter handles checking uniqueness within the same tenant
|
||||
// Filter handles checking uniqueness within the same tenant context
|
||||
if (await db.Users.AnyAsync(u => u.Username == username))
|
||||
return (null, "Benutzername in dieser Firma bereits vergeben.");
|
||||
return (null, tenantId.HasValue ? "Benutzername in dieser Firma bereits vergeben." : "Benutzername bereits vergeben.");
|
||||
|
||||
var (hash, salt) = HashPassword(password);
|
||||
var user = new User
|
||||
@@ -113,7 +113,7 @@ public class AuthService(
|
||||
Username = username,
|
||||
PasswordHash = hash,
|
||||
PasswordSalt = salt,
|
||||
TenantId = tenantId.Value
|
||||
TenantId = tenantId
|
||||
};
|
||||
db.Users.Add(user);
|
||||
await db.SaveChangesAsync();
|
||||
|
||||
@@ -219,9 +219,9 @@ app.MapPost("/api/auth/login", async (HttpContext ctx, [FromBody] LoginRequest r
|
||||
}
|
||||
else
|
||||
{
|
||||
if (user.Username != "marc")
|
||||
if (user.Username != "marc" && user.TenantId != null)
|
||||
{
|
||||
return Results.BadRequest("Anmeldung auf der Hauptdomain nur für Administratoren.");
|
||||
return Results.BadRequest("Benutzer gehört zu einer Firma. Bitte melden Sie sich über Ihre Firmen-Subdomain an.");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user