Laden...

OpenFileDialog - fehlende(s) Laufwerk(e)

Erstellt von ChrisProg vor 2 Jahren Letzter Beitrag vor 2 Jahren 489 Views
ChrisProg Themenstarter:in
174 Beiträge seit 2009
vor 2 Jahren
OpenFileDialog - fehlende(s) Laufwerk(e)

Hallo zusammen,

Vorweg, ich weiß nicht, ob das hier her gehört, aber ich fand das hier am passendsten ...

Ich habe beim Kunden folgendes Problem:

der OpenFileDialog zeigt nicht alle Laufwerke an (siehe angehängtes Bild - links ist der OFD, rechts der Windows-Explorer) ?

Gibt es beim OFD irgendeine Einstellung die ich übersehen habe ?

Das Programm wird mit Admin-Rechten gestartet, daran sollte es also nicht liegen, oder?

Ob das Laufwerk mit User-Rechten angelegt oder vom Admin eingebunden wurde, kann ich nicht sagen ...

MfG Christian

2.298 Beiträge seit 2010
vor 2 Jahren

Hallo,

wenn es Netzlaufwerke sind, die mit Zugangsdaten des Nutzers verbunden werden, liegt es tatsächlich daran, dass die Anwendung mit Adminrechten ausgeführt wird.
Das liegt einfach daran, dass damit in einem anderen Nutzerkontext gewechselt wird.

Wissen ist nicht alles. Man muss es auch anwenden können.

PS Fritz!Box API - TR-064 Schnittstelle | PS EventLogManager |

ChrisProg Themenstarter:in
174 Beiträge seit 2009
vor 2 Jahren

Hallo @inflames2k:

Danke für deine schnelle Antwort ...

Das werde ich wohl nie begreifen, warum ein Admin nicht alles auf einem Rechner sehen kann - zumal er es mit dem Windows-Explorer offensichtlich kann 😢

Bei Outlook kann ich es ja noch verstehen (Spammer-Programme) aber beim OFD schon nicht mehr ...

MfG Christian

16.806 Beiträge seit 2008
vor 2 Jahren

Dann musst du dich einfach Mal mit dem Rechtesystem von Windows beschäftigen, bzw. von Betriebssystemen, und dass der User-Kontext aus Sicherheitsgründen einfach nicht immer der gleiche ist.

Ich nehme einfach Mal dein Satz:
Das werde ich wohl nie begreifen, warum ein Entwickler sich nicht mit den wichtigsten Sicherheitsaspekten von Windows beschäftigt - zumal er offensichtlich Business Desktop-Anwendungen entwickelt 🙂

2.298 Beiträge seit 2010
vor 2 Jahren

Wie ich schrieb, liegt es am Wechsel des Nutzerkontextes.

Nutzer XYZ verbindet das Netzlaufwerk mit seinen Berechtigungen. Wenn jetzt Nutzer ABC eine Anwendung unter seinem Namen startet, ist das doch nix anderes als hätte er sich mit seinem eigenen Konto angemeldet und die Anwendung gestartet. Warum sollte er hier also die Netzlaufwerke von XYZ sehen können? Schon in Bezug auf Computersicherheit wäre das etwas unglücklich.

Wobei ich bis heute auch noch nicht ganz durchgeblickt habe, warum das Berechtigungssystem mit Windows 7 so stark abgeändert wurde, dass man um eine Anwendung wirklich als Admin zu starten (der man ja eigentlich schon ist) einen Kontextwechsel ausführen muss.
Ich meine klar. der Grund ist mir durchaus geläufig. Das erhöht einfach erheblich die Sicherheit des Systems. Ist aber im Umkehrschluss halt häufig auch so semi cool.

Wissen ist nicht alles. Man muss es auch anwenden können.

PS Fritz!Box API - TR-064 Schnittstelle | PS EventLogManager |

16.806 Beiträge seit 2008
vor 2 Jahren

Admin zu starten (der man ja eigentlich schon ist)

Im Endeffekt ist es nur die Trennung von Authentifizierung und Authorisierung; das ist die Basis jedes Berechtigungssystem, was wirklich jeder Entwickler im Griff haben muss (meine Meinung!). Wenn ein Entwickler nicht weiß, was Authentifizierung und Authorisierung sind und worin sie sich unterscheiden, dann fehlt extrem viel Basis für jede Sicherheit, jede Architektur und jeder realen Betriebsumgebung.

Seit UAC (kam mit Vista und WinServer 2008) hat der User im Standard Kontext nur noch seine Identität (und Grundberechtigungen); hier spielt aber auch der Konto-Typ User, Guest, Admin eine Rolle.
Jede Applikation hat aber ihren eigenen Kontext und entsprechend auch getrennte Berechtigungsinformationen.

Wenn Du gewisse Systemrechte benötigst, dann kannst Du das dem Betriebssystem beim Start der Applikation mitteilen, sodass diese Informationen direkt zur Verfügung stehen.
Es ist also ein Fehler des Entwicklers, wenn er System-Informationen braucht, aber nicht hat - weil er sie vergessen hat anzufordern.
Da haben App Entwickler einfach viel mehr Ahnung als Desktop-Developer, einfach weil die mobilen Betriebssysteme die Entwickler dazu zwingen, während das bei Desktop-Apps nicht der Fall ist (außer bei UWP).
Daher fehlen hier sehr vielen Desktop-Entwicklern einfach Wissen; beschuldigen aber Windows 🙂

UAC selbst ist konzeptionell nichts anderes als ein Tokensystem.
So funktioniert die Benutzerkontosteuerung

ChrisProg Themenstarter:in
174 Beiträge seit 2009
vor 2 Jahren

Im Endeffekt ist es nur die Trennung von Authentifizierung und Authorisierung; das ist die Basis jedes Berechtigungssystem, was wirklich jeder Entwickler im Griff haben muss (meine Meinung!). Wenn ein Entwickler nicht weiß, was Authentifizierung und Authorisierung sind und worin sie sich unterscheiden, dann fehlt extrem viel Basis für jede Sicherheit, jede Architektur und jeder realen Betriebsumgebung.

Entschuldige @Abt: aber das ist mir zu Pauschal...

Ich gehöre zu der älteren Generation (1965) , die das objektorientierte Programmieren mehr oder weniger rudimentär gelernt haben.
Wir (ich) habe(n) schon mitbekommen, das sich seit Vista grundsätzlich etwas geändert hat (und auch die Gründe) ...

Nur hatten wir den Nachteil, das wir nicht, so wie die jüngere Generation, in der Uni etwas darüber lernen konnten.
Und Du als MVP hast sicherlich noch mehr Hintergrund Wissen als der gemeine Programmierer, richtig ?

Ich habe leider nicht die Möglichkeit noch einmal die Schulbank zu drücken (obwohl das sicherlich seinen Reiz hätte...) - ich muß meine Brötchen verdienen ... 😉

MfG Christian

16.806 Beiträge seit 2008
vor 2 Jahren

Korrekt, ich hab es sehr pauschal formiert, sodass sich keiner von mir namentlich angesprochen fühlt 🙂
Wenn sich darin dann jemand selbst spiegelt, dann ist das nichts anderes als nen Wink gewesen 😉

in der Uni etwas darüber lernen konnten

Sowas lehrt die Uni auch nicht. Dort werden Konzepte beigebracht.
Das lernt man also ausschließlich (und ein leben lang) nur, wenn man sich da mit (aus eigeninitiative, persönlich oder unternehmerisch) beschäftigt.
Das fliegt einem nicht zu. Das muss man wollen.

Software Entwicklung ist noch nie ein Feld gewesen, auch vor 30 Jahren nicht, bei dem das Lernen aufhören wird; wie in den meisten Branchen / Berufen.
Gerade im Bereich der Software gibts tägliche Änderung und man muss für sich fokussieren, was man lernen muss.

Und Du als MVP hast sicherlich noch mehr Hintergrund Wissen als der gemeine Programmierer, richtig ?

Der MVP Titel von mir (oder auch von Coffeebean) hat damit eigentlich nichts zutun.
Durch den MVP Titel bekommen wir "nur" Förderung und Vorab-Informationen, sodass wir Dinge lenken und als Advocates quasi lehren können.
Aber durchlesen, lernen, verstehen und anwenden müssen wir das selbst in unserem Alltag, wie jeder andere Programmierer auch.

Gerade durch das Thema Open Source kommt quasi fast jeder an die fast gleichen Infos wie "wir MVPs", zumindest das .NET betrifft.
Das ist alles sehr transparent, Veränderungen werden langfristig offen kommuniziert und gelebt - man muss nur wollen.

Wenn jemand die Ausrede hat, dass er keine Zeit hat das Ökosystem kennenzulernen, weil er (Zitat) Brötchen verdienen muss, dann ist das für mich genau das: eine Ausrede.
Das ist in meinen Augen dann einfach nur ein (selbstverschuldeter, oder durchaus auch unternehmerische) Fehler des Zeitmanagements.
Ich seh zB. so viele Teams, dessen Verantwortliche 120% der Zeit der Entwickler mit Inhalte vollballern.
Die Entwickler haben also nie ne Chance sich zeitlich weiterzubilden oder sich um grundlegende Dinge zu kümmern: da hat der Entwickler keine Schuld, das ist ein klassischer Unternehmensfehler.

Und auch wenn ich es freiwillig manchmal selbst mache; aber ich hab kein Verständnis dafür, dass Unternehmen von ihren Entwicklern fordern, dass sie sich am Wochenende, in ihrer Freizeit weiterbilden müssen.

ChrisProg Themenstarter:in
174 Beiträge seit 2009
vor 2 Jahren

(...)
Das ist in meinen Augen dann einfach nur ein (selbstverschuldeter, oder durchaus auch unternehmerische) Fehler des Zeitmanagements.
Ich seh zB. so viele Teams, dessen Verantwortliche 120% der Zeit der Entwickler mit Inhalte vollballern.
Die Entwickler haben also nie ne Chance sich zeitlich weiterzubilden oder sich um grundlegende Dinge zu kümmern: da hat der Entwickler keine Schuld, das ist ein klassischer Unternehmensfehler.

Dem habe ich nichts hinzuzufügen ... 😎 - muß aber damit leben (wie so viele andere auch ...)

MfG Christian

ChrisProg Themenstarter:in
174 Beiträge seit 2009
vor 2 Jahren

Wenn Du gewisse Systemrechte benötigst, dann kannst Du das dem Betriebssystem beim Start der Applikation mitteilen, sodass diese Informationen direkt zur Verfügung stehen.

@Abt: hast Du dafür irgendwelche Quellen / Seiten auf denen ich mich schlau machen kann ?

MfG Christian