Hálózati authenticatio

Hálózati authenticatio
2009-07-14T11:48:11+02:00
2009-07-16T16:28:21+02:00
2022-11-14T07:20:36+01:00
E.D.
Hogyan lehet azonosítani magam windows-os hálózaton?

Konkrétan egy másik gépről szeretnék megosztott adatokat másolni. Ami megy is, csak ugye a program lefutása előtt bekéri a nevet és a jelszót. Hogy lehet ezt beépíteni egy c#-os programba? Márminthogy megadom a programnak a nevet és jelszót és ő végzi el ezt, nem pedig a felhasználóját zaklatja, hogy csak akkor hajlandó másolni, ha megadja a jelszót?
Mutasd a teljes hozzászólást!
Na, azt nem tudtam, hogy az 1.1-es .Net framework-ben ezek még nincsenek benne (2.0-ban már asszem benne vannak).

Akkor nincs más hátra, mint a jó öreg WinAPI-t használni. CreateProcessWithLogonW() segítségével meg lehet ezt csinálni. Így kell használni .Net alatt.

XP alatt egyébként a parancsikonnál be lehet állítani, hogy más felhasználónév alatt indítsa-e a programot. Ilyen parancsikonra kattintva a windows feldob egy abalkot, hogy kinek a nevében akarod a programot indítani és bekéri a jelszót is.
Mutasd a teljes hozzászólást!

  • A Windows-ban minden folyamat a futtatója nevében fut és örökli a futtató felhasználó jogosultságait. Hacsak nem egy másik windows felhasználó nevében akarsz futtatni egy programot, akkor a jelszó bekérésre nincs szükség.

    Az a lényeg, hogy a futtató felhasználó hozzáférjen a megosztott adatokhoz (ntfs jogosultságok beállítása). Ha más felhasználó nevében kell futtatni, akkor javaslom, hogy inkább a run as (futtatás mint) opciót válaszd a program indításakor és akkor a windows lerendezi helyetted ajelszó bekérést és a hitelesítést is.

    Persze a run as-t te is megvalósíthatod a process.start() megfelő hívásával (lásd itt, a táblázat utolsó 2 változatát.). Ehhez meg elég egy egyszerű form-ot készítened (tehát 2db futattható file-od lesz).
    Mutasd a teljes hozzászólást!
  • Nekem inkább olyan megoldásra lenne szükségem, ahol a program tudja beállítani magának. A "futtatás mint" jelenleg nem jó megoldás számomrá, bár nagyon hasznos információ, a későbbiekben biztos hasznát veszem majd.
    Mutasd a teljes hozzászólást!
  • vagy saját magát futtatja még egyszer csak valami paraméterrel és akkor nem kell 2 exe, aztán miután a 2. paraméterezetten elindult az első bezárja magát
    Mutasd a teljes hozzászólást!
  • Erre is írtam példát az előző hozzászólásomban (...Persze a run as-t te is megvalósíthatod a process.start() megfelő hívásával ...), csak ez esetben le kell tárolnod a felhasználónevet és a jelszót.
    Mutasd a teljes hozzászólást!
  • Ő... Kiemelnéd azt a bizonyos részt? Mert én nem látok arra példát... (a felh.név és jelszó letárolás nem gond)
    Mutasd a teljes hozzászólást!
  • Az idézett szöveg után van egy link a process.start() leírására az msdn-en. A process.start() 4 fajta szignatúrával rendelkezik, ebből kettőnél megadható a felhasználónév és a jelszó is.
    Mutasd a teljes hozzászólást!
  • Ja. Az csak azért nem lenne jó, mert valamiért a készüléken nem tudom beüzemelni a start()-ot.
    http://prog.hu/tudastar/102701-5/Program+inditasa.html
    De a négy paraméteres Start()-ot még a "Microsoft Visual Studio .NET 2003"-am sem ismeri... Tehát számomra totál zsákutcának tűnik...

    De egyébként ez is "futás mint" megoldás, csak nem én kézzel állítom a "futás mint"-et, hanem a program... (ezért értetlenkedtem az előbb, hogy hol az a nem "futás mint"-es példa )
    Mutasd a teljes hozzászólást!
  • Na, azt nem tudtam, hogy az 1.1-es .Net framework-ben ezek még nincsenek benne (2.0-ban már asszem benne vannak).

    Akkor nincs más hátra, mint a jó öreg WinAPI-t használni. CreateProcessWithLogonW() segítségével meg lehet ezt csinálni. Így kell használni .Net alatt.

    XP alatt egyébként a parancsikonnál be lehet állítani, hogy más felhasználónév alatt indítsa-e a programot. Ilyen parancsikonra kattintva a windows feldob egy abalkot, hogy kinek a nevében akarod a programot indítani és bekéri a jelszót is.
    Mutasd a teljes hozzászólást!
  • Valami hasonlóra én is leltem: How to implement impersonation in an ASP.NET application csak még reménykedtem, hogy van egyszerűbb módszer is... Majd holnap megnézem...

    Parancsikonos módszer jó lenne, ha csak egyszer kérné a jelszót (mert raktárosok használnák a programot, akiknek nem kéne kiadni jelszavakat), meg ha lenne WinCE 4.20-on is ilyen beállítási lehetőség...
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd