wir suchen einen Entwickler, welcher uns ein kleines Hilfsprogramm entwickelt um die lokale Audiolautstärke des Windows Clients in die Citrix HDX Sitzung, auch Windows, bidirektional überträgt. D.h. Ändert man die Lautstärke oder muted, so wird dies an den Client übertragen und entsprechend zurück.
Kein guter Mix.
Du solltest schon wissen, was Du da tust, und da brauchst Du mindestens die Grundlagen + nen zweites Auge von jemanden, der mehr Erfahrung hat.
Ist Security - damit spielt man nicht ;-)
Bin ja dabei, mir die Grundlagen anzueignen. Daher hier der Post. Mir ist eben noch kein Blatt über den Weg gelaufen, welches es von A bis Z erklärt.
Zitat von Abt
Der Auth Server erstellt den Identity Token, nachdem die Identität festgestellt wurde.
Mit dem Identity Token holt man sich dann vom Auth Server einen AuthN Token gegen die API / APIs.
Die Grundidee sagt, dass man eigentlich einen AuthN Token pro API hat. Mit gewissen Configs (Multi Audience) kann man auch einen AuthN Token gegen mehrere APIs verwenden.
Verwendet man meist dann, wenn die APIs nur zum eigenen Ökosystem gehören.
Hätte ich kein Problem mit, aber ich habe in meinem B2C (alles Testkonfigurationen) zwei Apps registriert. (In diesem Fall wäre für mich jede App eine eigene API)
Wenn ich nun Postman starte, muss ich dort auch eine Application ID und ein Secret hinterlegen. Dies habe ich von App1 hinterlegt. Wenn ich mir nun mit Postman ein Access Token hole, kann ich mit diesem Token ohne Probleme auf die App2 zugreifen.
Demnach dürfte das ja nicht funktionieren, der Zugriff müsste blockiert werden, oder?
Das ist genau das Thema, es gibt so unzählige viele Möglichkeiten, und jeder benennt die Themen anders. Zudem scheint es zwischen Azure AD und Azure AD B2C Unterschiede zu geben. Im B2C finde ich derzeit nämlich weder Rollen, noch App Rollen.
Da mir leider auch zusätzlich die ASP.NET Kenntnisse fehlen, wird die Sache nicht unbedingt einfacher.
Zitat
Ein Token stellst Du an Punkt X aus und ist Y Stunden gültig.
Willst Du wirklich bei einem Rechte-Change auf eine Ressource niemals mehr Rechte prüfen, solange der Token gültig ist?
Nein -> Du prüfst Permissions auf Ressourcen immer live, egal was im Token steht; denn im Token steckt keine Ressource Permission.
Das das Token durch den B2C erstellt und dort vorher geprüft wird, ist mir bewusst. Jedenfalls muss sich der User irgendwie Authentifizieren.
Wenn nun aber der Benutzer einen GET Request gegen Ressource X unternimmt, holt er sich ein Access Token vom B2C. Mit diesem Access Token geht er gegen die Ressource X um seinen Request loszulassen.
Ich würde nun erwarten, dass ich im B2C hinterlegen kann, das User A Ressource X verwenden darf.
Die Ressource X beim Zugriff von User A in das Token schaut, und prüft, jupp, User A darf zugreifen.
Das JWT Token selbst ist ja signiert. Daher, wenn die Signatur gültig ist, kann es auch nicht verändert worden sein.
Wenn du aber sagst, die Ressource X prüft live, ob der Zugriff gültig ist, und nicht nur das Token gültig, dann muss ja die Ressource eine ausgehende Verbindung gegen das Azure AD B2C machen und dort die Prüfung ausführen. Aber gegen was prüft er dann? Also welches Attribut im claim?
Würde das bedeuten, ich kann im B2C unterhalb von "Roles and Administrators" eine neue Rolle anlegen. Z.B. "Webservice1 lesen", die einem User zuweisen und am Webservice dann prüfen, ob der Benutzer der ankommt, die Rolle "Webservice1 lesen" angehört?
Wenn ich aber in meinem B2C unterhalb von "Roles and Administration" schaue, ist dies wohl nur ein Preview Feature. Ist dies noch nicht überall freigeschaltet? Ich kann demnach keine Custom Role anlegen.
Werden die Rollen automatisch im JWT gespeichert?, oder muss dies noch aktiviert werden beim Azure B2C?
ich bin auf der Suche zum Verständnis von oauth. Grundsätzlich möchten wir einen zentralen Identity Provider haben, an dem verschiedene Webportale und API angedockt werden, so dass zwischen den Portalen und Apis Sso möglich ist.
Als idp denken wir derzeit an azure b2c.
Wir können bereits die Portale mittels oauth anbinden. Die Testbenutzer können alles nutzen.
Die Frage ist, wie und wo steuert man mit oauth ob ein User ein bestimmtes Web Portal nutzen darf, oder nicht. Wenn ich es richtig bis jetzt verstehe, prüft das Webportal nur, ob das jwt Token gültig ist. Aber wenn der idp ein Token erstellt, ist dieses ja grundsätzlich für alle registrierten Anwendungen gültig.
Leider finde ich im Netz überhaupt nichts zu dem Thema.
Na dann schau doch mal mit Postman oder Fiddler ob er überhaupt was sendet.
Vielen vielen Dank. So ein verdammter Mist. Der content ist leer. Das Feld was ich suche, steht im Location Header. Den bekomme ich jetzt natürlich ausgegeben.
ich möchte aus meiner WinForms Anwendung heraus einen WebService mittels POST antriggern. Der Webservice ist ein Jenkins Server. Das funktioniert auch einwandfrei. Der Job wird gestartet.
Allerdings bekomme ich keinen Response zurück.
Ich hab mir eine Helper Klasse gebaut mit folgender Methode gebaut:
public static async Task<string> Post()
{
using (HttpClient client = new HttpClient())
{
string authToken = Convert.ToBase64String(System.Text.ASCIIEncoding.ASCII.GetBytes("admin:11be8206410f8"));
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", authToken);
var nullcontent = new StringContent("");
using (HttpResponseMessage res = await client.PostAsync("http://wi216ps1:8080/job/TestPS/buildWithParameters?samAccountName=test", null))
{
using (HttpContent content = res.Content)
{
string data = await content.ReadAsStringAsync().ConfigureAwait(false);
if (data != null)
{
return data;
}
}
}
}
return string.Empty;
}
Und aufrufen tue ich das ganze über eine button Click Methode:
ich möchte eine Win Form Anwendung im Fullscreen ohne Fensterrand starten. Das klappt soweit ganz gut. Anschließend habe ich ein TabControl Dock = Fill gesetzt.
Auf der TabPage werde ich eine Webseite anzeigen. Nun soll die Webseite im Vollbild angezeigt werden, allerdings möchte ich mehrere TabPages haben. Dafür wäre es prima, wenn die eigentliche TabPage Vollbild ist und die TabHeaders Überlappend, eventuell sogar von der Transparenz etwas reduziert, oder aber sogar nur angezeigt werden, wenn ich mit der Maus den oberen Bereich erreiche und überlappend eingeblendet werden.
@FZelle: siehe meinen ersten Post „meine Anforderung“
Ich habe keine spezielle Anwendung im Kopf. Ich möchte mich nur erstmal mit dem Werkzeug vertraut machen um dann bei einer Idee diese umsetzen zu können.
Ich möchte nur ungern mich jetzt mit altem Werkzeug auseinander setzen.
Mir ist bewusst, selbst zu recherchieren. Nur wie soll man etwas suchen, wo man gar nicht weiß, wonach man suchen soll.
Aktuelle Bücher zielen alle auf ASP.net und MVC ab. Ist asp.net Core im normalen .net enthalten ? Ja scheinbar jetzt doch. Aber auch hier gab es wiedersprüchliche aussagen in der Vergangenheit.
EF scheint ja auch nicht mehr Stand der Technik zu sein. Sucht man aber nach Tutorials, findet man Haufen dazu.
Eine einfache: ich empfehle asp Core, dopper und razor und du kannst gut simple Seiten erstmal bauen. Alles weitere kommt dann eh von alleine.
Ja vielleicht kommt die Frage häufig hier im Forum. Aber liegt der Fehler dann beim fragenden? Ein passender Faq Artikel der aktuelle Technologien aufzählt samt vor und Nachteile. Kurz und knapp hätte mir geholfen.
@Abt: dennoch Danke für deine Zeit.
Grundsätzlich habe ich eine Webanwendung im Kopf daher recherchiere ich diesbezüglich.
@Abt: mich wundert, in einem post hier im Forum erwähnst du, EF6.2 und MVC5 sollte man die Finger von lassen, wenn die Anwendung länger bestehen soll.
Kannst du kurz erklären warum? Und was mich wundert, wäre dies nicht auf meine Eingangsfrage ein Teil einer Antwort gewesen? Um mal auf das provokative zurück zu kommen ;)
Vielen Dank. Deine provokante Aussage lasse ich mal im Raum stehen.
Ich habe sehr wohl recherchiert. Was nur noch mehr Fragen aufgeworfen hat.
Es gibt so viele unzählige Dinge. MVC, dann Razor, SignalR und viele mehr. Ja jedes ist für bestimmte Dinge verantwortlich. Aber irgendwo mal zu beginnen wäre nett
Wie soll ich mich entscheiden wenn ich gar nicht weiß, was welches genau kann.
Ich will nicht viel und erst recht keine Riesen Anwendung bauen.
Vieles was ich gesehen habe, erschlägt einen direkt. Dagegen ist WinForms programmieren echt simpel.
Ich programmiere in c# seit .net 1.1 und bin aber gefühlt, dadurch das ich immer nur ab und zu mal ein Mini Programm schreibe bei 2.0 und WinForms hängen geblieben.
Bei Anwendungen basierend auf sql schreibe ich meine queries selbst, anstatt ein entity Framework zu verwenden.
Web Entwicklung ist ganz an mir vorbei gegangen.
Nun möchte ich gerne wieder mehr Zeit in Programmierung stecken. Doch ich weiß nicht, wo ich anfangen soll.
.net ist mittlerweile out. Alle sprechen von .net Core. Web Frameworks? Welches?
Meine Anforderung ist simpel: programmieren mit der VS Community Edition.
Sql Datenbanken erstellen und in der Anwendung nutzen und ein einfaches Web Framework um eine Seite hübsch und dynamisch mit html5 aussehen lassen zu können.
Welche Lektüren, bzw. Komponenten würdet ihr mir für den Wiederanfang empfehlen?
ich würde gerne in C# einen Dienst programmieren, welcher prüft, ob der Benutzer(einer von mehreren auf einem Terminalserver) berechtigt ist, die angegeben Anwendung zu starten.
Die Frage ist, wie fange ich unter Windows ab, dass eine Anwendung gestartet wurde? Da gibt es doch sicher irgendwelche Win32 Hooks oder?
Fehler CS0021 Eine Indizierung mit [] kann nicht auf einen Ausdruck vom Typ "Methodengruppe" angewendet werden. DisablePreferKeyword c:\users\swd\documents\visual studio 2015\Projects\DisablePreferKeyword\DisablePreferKeyword\Class1.cs 22 Aktiv
@Latino: Deinen Vorschlag habe ich auch versucht, aber da tut sich leider auch nichts. Der Value wird nicht geändert.
ich versuche nun schon verzweifelt seit 3 Stunden eine XML Datei zu parsen, wo ich ein Element mit einem Attribute versuche zu finden, um anschließend dessen Value anzupassen.
Willst den Leuten nicht auch verraten, von was für einem System (Datenbank? Dateien? Was für Dateien?) Du überhaupt sprichst?
Es handelt sich um "VHD" (virtuelle Festplatten) und Text Dateien. Daher sollte eine Binäre Übertragungsart vermutlich die richtige sein.
Zitat von T-Virus
Wenn es hier um das kopieren von Dateien geht, wonach sich dein Beitrag aktuell anhört, würde ich robocopy nehmen.
Aber ohne Details was für Daten du von wo nach wo schieben willst, können wir nur raten.
Also bitte mehr Details was du genau vorhast.
T-Virus
Dateien, siehe oben. Ich möchte keine anderen Tools ansteuern.
Die Übertragung soll durch das Programm, welches auf dem Quell und Zielsystem laufen soll, durchgeführt werden.
ich suche nach einer Möglichkeit, einfach, schnell und zuverlässig große Datenmengen (eine Datei kann 50 GB groß Sein) zwischen zwei oder mehr Systemen zu übertragen.
Es werden in der Regel nicht viele Dateien sein.
Quell und Zielsystem würden im gleichen LAN Subnetz stehen. Es soll auch ein Fortschrittsbalken sichtbar sein.
Mit welchen Technologien aus dem .Net Framework 4.5 lässt sich dies am besten realisieren?
ich habe bedingt durch einen PC Wechsel auf Visual Studio 2015 Community Edition upgedated.
Jetzt muss ich leider feststellen, dass Install Shield die 2015 er Community Version nicht mehr frei unterstützt.
Bei 2013 ging es noch einwandfrei.
danke für die Antworten. Mit P/Invoke habe ich mich nun ein wenig vertraut gemacht. Zum Beispiel wende ich es erfolgreich für die Funktion "ExtractAssociatedIcon" aus der shell32.dll an. Allerdings ist dies eine Funktion. ExtractAssociatedIcon function
Bei meinem Problem geht es um ein Object aus der shell32. Bzw. um ein Interface. IShellLinkW.
Siehe: IShellLink
Leider bin ich nicht wirklich weiter gekommen, wie ich diese Methoden/Objekte mittels P/Invoke aufrufe.
Könnt ihr mir bitte dazu auf die Sprünge helfen.
Vielen Dank.
ich verwende einige Funktionen aus der shell32.dll. Mein Entwicklungssystem ist derzeit ein Windows 10 mit Visual Studio 2015 Community.
Auf diesem Funktioniert alles wunderbar.
Wenn ich nun mein Programm auf einem Windows 7 ausführe, erhalte ich diese Fehlermeldung:
Fehler
Das COM-Objekt des Typs "Shell32.ShellClass" kann nicht in den Schnittstellentyp "Shell32.IShellDispatch6" umgewandelt werden. Dieser Vorgang konnte nicht durchgeführt werden, da der QueryInterface-Aufruf an die COM-Komponente für die Schnittstelle mit der IID "{286E6F1B-7113-4355-9562-96B7E9D64C54}" aufgrund des folgenden Fehlers nicht durchgeführt werden konnte: Schnittstelle nicht unterstützt (Ausnahme von HRESULT: 0x80004002 (E_NOINTERFACE)).
Nach ein wenig Recherche klingt es danach, dass die Shell32.dll unterschiedlich zwischen den Betriebssystemen ist.
In meiner Anwendung habe ich die shell32 als Referenz hinzugefügt und auf INTEROP gesetzt. Sie wird daher auch mit in das Ausgabeverzeichnis beim Build kopiert mit interop.shell32.dll
Hat jemand eine Idee, wie ich mein Programm unter allen Windows Versionen ans laufen bekomme?
Die Frage ist, wie ich diese auswerte? Wie nun die einzelnen Elemente wie OS Version oder AD Gruppe zu prüfen geht, weiß ich.
Doch mir fehlt die Idee wie ich die Abfrage parse
Ich möchte gerne in Meine Anwendung eine dynamische Abfrage einbauen. wenn diese Abfrage true ergibt, soll etwas ausgeführt werden.
Dafür möchte ich zuvor in einer Gui eine Abfrage definieren.
Beispielt
IST Mitglied der AD Gruppe 1
AND Mitglied der AD Gruppe 2
OR Mitglied der AD Gruppe 3
Das ganze sollte so dynamisch wie möglich gestaltbar sein.
Die GUI dafür zu bauen ist kein Problem.
Die Frage ist nur, wie löse ich solch eine eigene Abfrage in meiner Anwendung auf, um am Ende eintrübe oder False zu erhalten.
Leider stehe ich auf dem Schlauch und weiß noch nicht mal genau, wonach ich suchen muss.
Würde mich freuen, wenn jemand von euch Denkanstöße hat.