Closed cerphilipp closed 2 years ago
Soweit letzte Woche vorgestellt für Organisation und Service Ebene. Falls Formatierungs einfach gleich einen autoformat commit machen, weiß noch immer nicht wie das in VS geht.
https://stackoverflow.com/a/5755979
Echt jetzt...
Das funktioniert nicht. Du musst deinen code schon testen.
Hast wohl vergessen das zu registrieren in Default[MODULE_NAME]Module
. Beispiel:
builder.RegisterType<ServiceService>()
.As<IServiceService>()
.InstancePerLifetimeScope();
Das ganze sollte auch ins Core projekt, wenn ich das so richtig verstanden habe @DevNico
Die NotFounds sind mit absicht. Standard. Weil nicht authorisierte User sollten nicht wissen ob eine Resource exstistiert. Das mit der fehlenden DI war aus versehen ich wollte gestern unbedingt noch pushen und hab ein paar Änderungen reverted, hab dann noch schnell die Tests ausgeführt und habs übersehen. Das mit in Core wird nicht funktionieren, weil ASP-NET Abhängigkeiten gebraucht werden.
Die NotFounds sind mit absicht. Standard. Weil nicht authorisierte User sollten nicht wissen ob eine Resource exstistiert.
Ich will jetzt kein Arsch sein aber ich will hier wirklich der Arsch sein, aber: Schauen wir uns mal als beispiel den CREATE für organizationUsers an. Wenn wir, so wie ich das beschrieben habe, die rechte prüfen, bevor wir in der Datenbank schauen, ob die Rolle oder die Organisation existiert, erfährt ein Potenzieller Angreifer nicht, ob die Organisation oder die Rolle existiert. Und ob der Endpunkt existiert, ja, das darf glaub ich jeder wissen (vorallem bei public APIs).
GetById sieht hier ähnlich aus, jeder Nutzer ohne Rechte erhält code 401, egal, ob der Nutzer existiert oder nicht. Angemeldete Nutzer mit entsprechenden Rechten erhalten dann code 404, sollte der Nutzer nicht existieren.
Der standard mit der .net auth scheint auch eher immer code 401 zurückzugeben, sollte ein endpunkt nicht existieren, das möchte ich hier auch noch in den Raum werfen.
Letztendlich ist das egal, ich finde 401 definitiv informativer (zumindest fürs Entwickeln), in der finalen Anwendung könnte da auch alles zurückgegeben werden, ein Endnutzer befasst sich sowieso nicht mit den http codes.
Ich würde das ganze also mal @DevNico entscheiden lassen, ob wir 404 oder 401 bei nicht ausreichenden Rechten zurückgeben wollen
Wenn das mit dem Verschieben in Core wirklich nicht klappt, dann glaub ich dir das einfach mal so, das Template ist irgendwie kacke, aber das wissen wir inzwischen ja schon
Ja ok über die Return codes kann man ja reden. Zu dem im Core, dass liegt nicht an dem Template es liegt an der ASP.Net Authorization, für die man ASP.Net braucht
Wegen den Status codes bin ich für 404, so kann man nicht iterieren um herauszufinden wie groß z.b. die user base ist
Wenn Auth ne dep auf ASP.Net hat kanns im api projekt bleiben
Soweit letzte Woche vorgestellt für Organisation und Service Ebene. Falls Formatierungs einfach gleich einen autoformat commit machen, weiß noch immer nicht wie das in VS geht.