Prístup k zdieľaným priečinkom na iných serveroch z ASP.NET Core aplikácie (IIS, nastavenia fondu aplikácií)
Prostredie overovania prevádzky
- Vizuálne štúdio
-
- Visual Studio 2022
- ASP.NET jadro
-
- 6 (Razpr strany)
- Windows Server
-
- 2022 (ASP.NET základné systémové požiadavky)
- 2019 (server nasadenia zdieľaných priečinkov)
- IIS
-
- 10.0
Prevádzkové prostredie
Netestoval som to vo všetkom, ale z väčšej časti by to malo fungovať.
- Vizuálne štúdio
-
- Čokoľvek, čo môže vytvoriť ASP.NET alebo ASP.NET Core projekt
- ASP.NET jadro
-
- Ľubovoľná verzia (MVC, Razor Pages, API)
- ASP.NET
-
- Akákoľvek verzia je prijateľná
- Windows Server
-
- Windows Server 2008 alebo novší
- IIS
-
- 7.0 alebo novšia verzia
Predpokladom
- ASP.NET Základné aplikácie sú určené na spustenie v službe IIS. Iné webové servery nebudú môcť implementovať obsah týchto tipov
životné prostredie
Overuje sa v nasledujúcom prostredí.
Účel používania | osobných počítačov a serverov |
---|---|
Windows 11 (lokálny) | Prostredie pre vývoj programov. Irelevantné na účely tohto článku |
SV2022Test | Prostredie, ktoré spúšťa IIS a ASP.NET Core. Prístup k zdieľanému priečinku SV2019Test odtiaľto |
SV2019Test | Servery so zdieľanými priečinkami |
Okrem toho sú rôzne nastavenia nasledujúce.
Hodnota názvu parametra | |
---|---|
Používateľské meno programu Access | ZdieľanýPoužívateľ |
Názov zdieľaného priečinka | ZdieľanýPriečinok |
Vytvorenie programu na čítanie a zápis súborov zo zdieľaného priečinka z aplikácie ASP.NET Core
Ako ťah pána / pani jednoducho kliknite na tlačidlo,
- Načítanie súborov do zdieľaného priečinka a ich zobrazenie na obrazovke
- Zapísanie nového súboru do zdieľaného priečinka
proces.
Zdieľaný priečinok som ešte nevytvoril, takže ho nemôžem ladiť, ale je to jednoduchý kód, takže zatiaľ vytvorím program.
ASP.NET Core projekt môže byť ľubovoľného typu, ale v tomto prípade používam Razor Pages.
Index.cshtml.cs
a pridajte, čo sa stane po kliknutí na tlačidlo.
Názov servera je napísaný priamo, ale upravte ho dobre v skutočnej prevádzke.
V niektorých prípadoch nemusí byť zdieľaný priečinok prístupný, takže je uzavretý v úlovku pokusu.
public class IndexModel : PageModel
{
// 省略
public void OnGet() { }
// ここから追加
public void OnPost()
{
var serverName = "SV2019Test";
try
{
var readFilePath = $@"\\{serverName}\SharedFolder\Input.txt";
var writeFilePath = $@"\\{serverName}\SharedFolder\Output.txt";
// 共有フォルダからファイルを読み込む
var text = System.IO.File.ReadAllText(readFilePath);
// 別ファイルとして共有フォルダに書き込む
System.IO.File.WriteAllText(writeFilePath, text);
// 読み込んだ内容を画面に表示する
ViewData["Message"] = text;
}
catch (Exception ex)
{
ViewData["Message"] = ex;
}
}
// ここまで追加
}
Index.cshtml
obsahuje tlačidlo a správu.
@page
@model IndexModel
@{
ViewData["Title"] = "Home page";
}
<div class="text-center">
<h1 class="display-4">Welcome</h1>
<p>Learn about <a href="https://docs.microsoft.com/aspnet/core">building Web apps with ASP.NET Core</a>.</p>
</div>
@* ここから追加 *@
<form method="post">
<button type="submit">処理実行</button>
</form>
<div>@ViewData["Message"]</div>
@* ここまで追加 *@
Po vytvorení programu vytvorte súbor na nasadenie na server. V tomto prípade použijeme spôsob umiestnenia publikovaného súboru priamo, ale nezáleží na tom, akú metódu použijete. Okrem toho usporiadanie programu nie je podstatou tohto tipu, takže je uvedené zjednodušeným spôsobom.
Pridajte konfiguráciu publikovania.
Zmeňte nastavenia.
Nastavenia sa zmenia tak, ako je to znázornené na obrázku. To tiež nijako zvlášť nesúvisí s účelom tohto času, preto si ho prosím nastavte podľa svojho prostredia.
Publikujte program.
Po zverejnení programu kliknite na odkaz "Cieľové umiestnenie" a otvorí sa priečinok so súbormi, ktoré chcete umiestniť.
Vytvorenie servera zdieľaných priečinkov
Vytvorenie používateľa
Normálne, ak je server iný, používateľ vytvorený na každom serveri sa interne považuje za úplne iného používateľa. Vytvorením súboru s rovnakým menom používateľa a heslom môžete preskočiť overovanie systému Windows na iný server. Tentokrát to použijeme na prístup k zdieľanému priečinku na inom serveri.
Mimochodom, ak máte čo do činenia so servermi a účtami v doméne, ako je napríklad Active Directory, môžete s týmto účtom nastaviť oba servery, čo do určitej miery zjednodušuje konfiguráciu.
Postup vytvorenia používateľa nie je podrobne opísaný.
SharedUser
V tomto prípade ho vytvoríme s názvom .
Keďže tento používateľ neovláda obrazovku ani nemení nastavenia, heslo nie je možné zmeniť.
Ak ponecháte predvolené nastavenie, môžete sa s týmto používateľom prihlásiť pomocou vzdialenej pracovnej plochy atď., Preto odstráňte zo skupiny Users
.
Vytvorenie zdieľaného priečinka
Nezáleží na tom, kde ho vytvoríte. Je to preto, že iné servery sa nestarajú o umiestnenie fyzického priečinka.
V takom prípade vytvoríme priečinok s názvom priamo pod SharedFolder
jednotkou C a zdieľame ho.
Otvorte vlastnosti a nakonfigurujte nastavenia zdieľania.
Názov zdieľaného priečinka by mal SharedFolder
byť . Tento názov bude viditeľný pre ostatné servery.
Pridajte SharedUser
povolenia.
Everyone
Odstráňte existujúci súbor .
Potvrďte povolením "Zmeniť".
Keďže sme pridali iba povolenia, ku ktorým je možné pristupovať zvonku, nastavíme ho interne SharedUser
, aby mohol fungovať v tomto priečinku.
Potvrďte povolením "Zmeniť".
Vytvorte súbor na kontrolu operácie.
Je v poriadku, ak máte prístup v programe Prieskumník z \\<サーバー名>\
iného počítača, prihlásiť saSharedUser
pomocou a zobraziť súbor.
Budovanie aplikačného servera
Inštalácia služby IIS
Zatiaľ ho predvolene nainštalujte zo správcu servera. Nebudem zachádzať do podrobností postupu.
Nie sú potrebné žiadne ďalšie funkcie.
V súčasnosti nie sú potrebné žiadne ďalšie služby IIS.
ASP.NET Inštalácia balíka Core Runtime Hosting
Keďže používame ASP.NET Core 6, musíme zodpovedajúcim spôsobom nainštalovať runtime. Stiahnite si ho z nasledujúcej adresy URL:
Ak chcete spustiť ASP.NET Core v IIS, potrebujete niečo, čo sa nazýva "Hosting Bundle". Stiahnite si "Hosting Bundle" z ASP.NET Core Runtime.
Po stiahnutí ho spustite na serveri.
Podľa pokynov sprievodcu ho nainštalujte.
Tvorba a nasadzovanie webových aplikácií
V nástrojoch na správu systému Windows otvorte Správcu internetových informačných služieb (IIS).
Môžete použiť "Predvolená webová lokalita" tak, ako je, ale tentoraz vytvoríme novú stránku. Predvolená webová lokalita sa spustí automaticky, preto ju zastavte.
Vytvorte novú webovú lokalitu.
Tentokrát je SharedFolderAccess
názov lokality , ale na tom nezáleží.
Fond aplikácií sa automaticky generuje pre novú lokalitu.
Vytvorte a zadajte priečinok podľa vlastného výberu, kam chcete umiestniť program.
Port 80 je označený ako "Predvolená webová lokalita" a zobrazí sa upozornenie, ale môžete ho ignorovať, ak je už nefunkčný.
Bol vytvorený.
Otvorte priečinok určený na webovej lokalite v programe Windows Prieskumník a skopírujte a umiestnite všetky publikované programy tak, ako sú.
Otvorte stránku pomocou prepojenia IIS a skontrolujte, či sa zobrazí obrazovka. Najprv môžete otvoriť webový prehliadač a priamo zadať adresu URL.
Mimochodom, aj keď kliknete na tlačidlo v tomto stave, zobrazí sa chyba, pretože nastavenie povolení ešte nebolo dokončené.
Vytvorenie používateľa
Vytvorte rovnakého používateľa SharedUser
na aplikačnom serveri ako na serveri zdieľaných priečinkov. Uistite sa, že sa zhodujú aj vaše heslá. Kroky sú úplne rovnaké.
Zmena povolení fondu aplikácií
Prístup podľa webových programov určuje fond aplikácií.
V predvolenom nastavení má iba ApplicationPoolIdentity
oprávnenia na spúšťanie webových aplikácií.
Zmenou tohto oprávnenia na SharedUser
, webový program môže pracovať s oprávneniami používateľa, ktorý ste nastavili.
To umožňuje webovým programom SharedUser
prístup k zdieľaným priečinkom v aplikácii .
Po otvorení Správcu služby IIS vyberte položku Fondy aplikácií.
Pri vytváraní webových stránok sa automaticky pridá SharedFolderAccess
, takže naň kliknite pravým tlačidlom myši a vyberte možnosť "Rozšírené".
V procesnom modeli je "ID", takže kliknite na tlačidlo vpravo.
Vyberte "Vlastný účet" a kliknite na tlačidlo "Nastavenia".
SharedUser
Zadajte a potvrďte svoje používateľské meno a heslo.
Potvrdenie prevádzky
Prejdite na webovú stránku a kliknite na tlačidlo. Ak sa zobrazí obsah textového súboru, je úspešný.
Uistite sa, že aj v zdieľanom priečinku máte nový súbor.