ja ich weiß das OWIn nur ne Middelware ist, diese habe ich aber durch die passenden Module ergänzt. (OAuth usw.)
Du weißt ja wahrscheinlich wie ;)
OWIN übernimmt also die Oauth/Oauth2 funktionalitäten für mich wie Token und Claims usw.
Zitat von Abt
Die einzelnen Services müssen nur der Quelle des Token und dessen Gültigkeit vertrauen und eben nicht immer einzeln eine Authentifizierung durchführen.
Und genau da hakt es bei mir :
Wie "überrede" ich die Middleware meine AuthApi als Trust anzusehen bzw. mit welchen mitteln ?
Da suche ich praktische Ansätze.
Die WebApi direkt mit einem "CustomAuthorise" Attribut aufzurufen halte ich für weniger schön.
Wie machst du das also ?
Oder redest du davon, dass ich die funktionalität der AuthApi (Own app.useGoogle) in JEDE Api einbaue ?
Grüße
Ich habe eine Authentication WebAPi die für mich die anmeldung gegen FB, Google usw. usw. erledigt.
Dazu eine WebApp die darüber sich anmeldet und nen Token bekommt.
Nun habe ich aber eine zB OrdersApi die als eigenständige API läuft aber das Authorise Attribute über jedem Controller hat.
Nun muss ja die OrdersApi mit der AuthApi sprechen und validieren, dass der Token der da kommt noch gültig ist.
Ich sehe es so, dass OAuth nie für eine verteilte Landschaft gedacht war....
Gibt es Lösungsansätze wie ich das evtl. per OWIN Lösen kann ?
OWIN lässt mich in meiner WEB API langsam verzweifeln :
Ich habe bereits 4 Tutorials durch , Google durchforstet etc.
Aber:
Immer wenn ich ein Google Login machen will, lande ich bei der Page, wo ich die Rechte bestätiggen muss. Sobald ich dieses angenommen habe, wird ein access_denied generiert.
Die üblichen verdächtigen wie Google+ API aktivieren habe ich schon gemacht.
Der Callback wird aufgerufen, Google meint jedoch, ich hätte keinen Zugriff.
Hat das jmd schon mal mit OWIN gemacht und kann mir da einen Tipp geben ?
Als Web hin oder her aber was kostet es eine fertige App von WinForms auf Web zu portieren ?
Zumal ich denke, dass die meißte "logik" im Client ist.
Ich würde es also von den Kosten abhängig machen.
Wenig Kosten für eine WebApp -> WebApp (Wie Abt ja schon geschrieben hat, Look and Feel kann man gleich machen)
Bei hohen Kosten, Update Mechanismus einbauen oder Notfalls auf Click Once umsteigen
hier ist ein gutes Projekt um so etwas zu realisieren updateSystem.NET
Was macht dein Service ?
Hat deine Firewall/Proxy eine DDOS Attacken Prevention ?
Hast du einen Login Mechanismus mit Throtteling ?
Ist das abrufen von Metadaten gesperrt ?
Erzähl uns mehr und wir sagen dir wie sicher das ganze ist ;)
Ah nu habe ich es verstanden : Da ich die Office365 Libary nutze geht damit nur Office365.
Für live.com Sachen muss ich selber Oauth usw. "per Hand" machen
Das könnte zum Problem werden. "Normalerweise" baut man keine Prozeduren in ein Produktivsystem ein die den Anwender auf alles zugreifen lassen. Ich würde zuerst untersuchen ob du überhaupt eine Chance hast, mit den Prozeduren an Daten ran zu kommen.
Hi,
ja gebe ich dir recht, über eine "Support" Abteilung komme ich aber nun direkt an die Tabellen ran
Ich evaluiere einige tools und poste dann wofür ich mich entschieden habe#
hat jmd evtl. ein Script geschrieben oder ein ähnliches Problem :
Wir haben auf unseren produktivdatenbank Daten liegen. Für eine Fehleranalyse brauche ich ein Abzug daraus. (Insert Scripte inkl. aller Constraints etc.)
Leider ist ein vollabzug nicht möglich aufgrund der Größe.
Per Hand ist das ein riesen Aufwand bei knapp 93 Tabellen
Kennt jmd eine Methode oder Programm, was dieses für uns erledigen kann ?
Noch etwas : Wir haben nur über Prozeduren Zugriff auf die DB.......
P.S. Nein ich will nicht, dass mir jmd ein Scipt baut, wenn aber jmd schon eines hätte wäre das echt knorke, sonst muss man wohl selber ran ;)
ich soll einen WCF Service bauen welcher folgendes tun soll :
Gehostet im IIS (INHOUSE) soll dauerhaft laufen
Er soll auf den Service Bus "horchen"
Ist NICHT direkt aus dem Internet erreichbar sondern lauscht auf den Bus.
Hat jdm einen guten Artikel zu dem Thema, ob ich das mit dem QueueClient machen kann/ soll ?
Für die Links würde eine HTML Helper Klasse erstellt, die Prüft ob die Rechte vorhanden sind. Das Passiert über einen "Recht/Lizensserver" (DCOM Komponente). (beim _EditMenue werden im übrigen keine Rechte geprüft.)[/quote]
Das heißt bei JEDEM Call gehst du zu dem Server ?
Oder wird das nur einmalig gemacht ?
Wenn es jedes mal gemacht wird, würde ich beim ersten mal cachen und ein expirationDate setzen.
Zur Zeit würde ich definitv NICHT zu WebApi und Linux raten.
Wir haben damit ein Proof of Concept probiert und sind dann nacch zwei Wochen entnervt auf NodeJS gegangen.
Hintergrund waren die riesen Probleme mit Async und dem wirklich bescheidenem OData (Hat Benjamin bereits geschrieben)
Aktuell Finger weg !
Ob es mit VNext besser wird ? Wir machen den nächsten PoC im Januar mit der Preview und sind zu dem Thema nächste Woche in Unterschleißheim bei den Microsft Jungs ;)
Ich schreibe dann was dazu
Das klingt nicht nach etwas wo du spezifisch LARPer für bräuchtest ;)
So etwas könntest du , mehr ausformuliert, in die Projektecke stellen und nach Mitstreitern suchen, nach einem riesem Hexenwerk klingt das eher nicht
Es kommt drauf an, klar gibt es Aufgaben wo ich pragmatisch rangehe, aber auch viele wo Pragmatismus einfach nicht angebracht ist. Es hängt von der Anforderung und der Wartbarkeit etc. ab. NUR Pragmatisch zu entwickeln empfinde ich genauso falsch wie immer nur komplex zu entwickeln. Der gesunde Mittelweg sollte immer richtig sein, welcher aber oft schwer zu finden ist. Nach deinen Formulierungen gehe ich aber auch von einer gewissen BEtriebsblindheit aus und ich denke Ihr/Du werdet nicht objektiv über die Arbeitsweise von dem Kollegen urteilen können.
Mein Tipp an euch: Redet mit ihm und lasst euch erklären warum sein Weg evtl. der bessere ist oder auch nicht. Ihr müsst als Team zusammenkommen und da muss jeder Kompromisse eingehen bzw. noch einiges vom anderen lernen.
So ich habe jetzt alles durch und es liegt am MultipartStreamProvider : Ich wrappe das ganze um es testbar zu machen.
Leider funktioniert das ganze nicht so richtig.
Deswegen erstmal hier zu
Bitte verwende die Objekt-orientierte Programmierung wie sie gedacht ist; teile Einzelaufgaben der Methode in weitere Methoden auf und teste somit kleinere Stücke und dann das Gesamtbild.
Evtl. auch mal Dependency Injection anschauen, verstehen und verwenden ;-)
Aber so setzt Du nicht das Testen um, wie man es eigentlich macht.
Wie man asynchronen Code testet steht übrigens sehr sehr ausführlich in der MSDN.
Hallo Benjamin,
wirkt etwas herablassend wen man nicht den ganzen Code sieht.
Alle externen Services sind per DI in den WebApi Controller injiziert. DI ist definitv meine 100% Arbeitsweise ;)
Zweitens habe ich das nur so formatiert, bzw umgeschrieben damit man sieht was da passiert, quasi ein beispiel.
Und wenn du die MSDN testweise meinst: Auch diese verursaxcht genau das selbe Problem...
Ich gehe davon aus, dass er beim Await einfach abbricht weil der Task für ihn dann zuende ist.
Kann das sein ? Und wenn ja wie behebe ich das Problem ?
danke für die Vorschläge, das Manifest scheint meine Hoffnung zu sein.
Das mit dem TemplateCache habe ich probiert, leider hat es bei mir gar nicht gegriffen.
Du durchläufst es mit einer foreach und benutzt dennoch ein Index ? Du kannst doch wie in deinem Beispiel direkt per "name" auf den jetzigen task in der Schleife zugreifen.
Also ich hab das ItemsSource Property von einem ItemsControl an die Collection gebunden.
Wenn in der Collection nun aber nich die Controls drin sind, sonder nur die VM´s ... wie wird das dann angezeigt?
gebe ich dir Absolut recht wenn man als ersten Satz "War klar dass dieses Argument kommt"
Was erwartest du dann ? Sachlichkeit ? So wie man in den Wald, so ....
Aber den Satz kennst du hoffentlich !
EDIT: Belassen wir es dabei, evtl. ging der erste Satz von dir auch zu persönlich und wirkte etwas herablassend. Wie du siehst habe ich bereits vorhin meinen Post editiert