Ich habe zwei Benutzer in der Datenbank und sie haben die gleiche E-Mail-Adresse und das gleiche Passwort, aber verschiedene Rollen. Es wie folgt aussehen:Login von Rollen Federn-Authentifizierung
email pass roles
+------------+------+-------
[email protected] 123 user
[email protected] 123 admin
und wenn Benutzer versuchen einzuloggen, i senden Anfrage mit params
{
email:"[email protected]"
password:"123"
roles:"user"
strategy:"local"
}
Die questuin ist: wie kann ich Benutzer von Rolle zu identifizieren (wenn ich von front- senden Ende req mit param Rollen: "user" Benutzer muss durch Rolle "Benutzer" anmelden, wenn Rollen: "admin" - von admin)
Es ist mein Haken von auth
app.service('authentication').hooks({
before: {
create: [
authentication.hooks.authenticate(['local', 'jwt'])
],
remove: [
authentication.hooks.authenticate('jwt')
]
},
dank für Ihre Antwort, aber das Problem ist durch ein Passwort in Rolle ‚admin‘ in Rolle unterscheidet ‚user‘ – user3383185
Sie könnten in der Lage sein, dies mit einem benutzerdefinierten Verifizierer zu lösen (https://docs.feathersjs.com/api/authentication/local.html#verifier) durch Betrachten des Anfrageobjekts. Ich würde jedoch nicht empfehlen, zwei verschiedene Konten mit demselben Benutzernamen zu verknüpfen. – Daff