Juurdepääs teiste serverite jagatud kaustadele ASP.NET Core'i rakendustest (IIS, rakenduste kogumi sätted)

Lehekülg uuendatud :
Lehe loomise kuupäev :

Toimingu kontrollimise keskkond

Visuaalne stuudio
  • Visual Studio 2022
ASP.NET Tuum
  • 6 (Razpri lehed)
Windows Server
  • 2022 (ASP.NET põhisüsteemi nõuded)
  • 2019 (ühiskausta juurutusserver)
IIS
  • 10.0

Töökeskkond

Ma pole seda kõiges katsetanud, kuid see peaks enamasti töötama.

Visuaalne stuudio
  • Kõik, mis võib arendada ASP.NET või ASP.NET põhiprojekti
ASP.NET Tuum
  • Kõik versioonid (MVC, Razor Pages, API)
ASP.NET
  • Iga versioon on vastuvõetav
Windows Server
  • Windows Server 2008 või uuem
IIS
  • 7.0 või uuem

eeltingimus

  • ASP.NET Põhirakendused on mõeldud töötama IIS-is. Teised veebiserverid ei saa nende näpunäidete sisu rakendada

keskkond

Seda kontrollitakse järgmises keskkonnas.

Arvutite ja serverite kasutamise eesmärk
Windows 11 (kohalik) Keskkond programmide arendamiseks. Käesoleva artikli eesmärgi seisukohast ebaoluline
SV2022Test Keskkond, mis käitab IIS-i ja ASP.NET Core'i. Juurdepääs jagatud kaustale SV2019Test siit
SV2019Test Jagatud kaustadega serverid

Lisaks on erinevad seaded järgmised.

Parameetri nimi Väärtus
Juurdepääsu kasutajanimi Jagatudkasutaja
Ühiskausta nimi Jagatud kaust

Programmi loomine failide lugemiseks ja kirjutamiseks ASP.NET Core'i rakenduse ühiskaustast

Härra/proua tõmbamisel klõpsake lihtsalt nuppu,

  • Laadige failid ühiskausta ja kuvage need ekraanil
  • Uue faili kirjutamine ühiskausta

protsess.

Ma pole veel jagatud kausta loonud, nii et ma ei saa seda siluda, kuid see on lihtne kood, nii et teen praegu lihtsalt programmi.

ASP.NET Põhiprojekt võib olla mis tahes tüüpi, kuid sel juhul kasutan Razor Pages'i.

Index.cshtml.cs ja lisage, mis juhtub nupu klõpsamisel. Serveri nimi on kirjutatud otse, kuid palun kohandage seda tegelikus töös hästi. Mõnel juhul ei pruugi jagatud kaust olla juurdepääsetav, nii et see on ümbritsetud proovipüügiga.

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 sellel on nupp ja sõnum.

@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>
@* ここまで追加 *@

Kui olete programmi loonud, looge serverisse juurutamiseks fail. Sellisel juhul kasutame avaldatud faili otse paigutamise meetodit, kuid pole vahet, millist meetodit kasutate. Lisaks ei ole programmi paigutus selle otsa olemus, seega on see loetletud lihtsustatud viisil.

Saate lisada avaldamiskonfiguratsiooni.

Muutke seadeid.

Seadeid muudetakse joonisel näidatud viisil. See ei ole ka eriti seotud selle aja eesmärgiga, nii et palun määrake see vastavalt oma keskkonnale.

Avaldage programm.

Pärast programmi avaldamist klõpsake lingil "Sihtasukoht" ja avaneb kaust failidega, mida soovite paigutada.

Ühiskaustaserveri loomine

Kasutaja loomine

Tavaliselt, kui server on erinev, käsitletakse igas serveris loodud kasutajat sisemiselt täiesti erineva kasutajana. Sama kasutajanime ja parooliga faili loomisega saate Windowsi autentimise teise serverisse vahele jätta. Seekord kasutame seda teise serveri jagatud kaustale juurdepääsuks.

Muide, kui teil on tegemist serverite ja kontodega sellises domeenis nagu Active Directory, saate selle kontoga seadistada mõlemad serverid, mis lihtsustab konfiguratsiooni teatud määral.

Kasutaja loomise protseduuri ei ole üksikasjalikult kirjeldatud.

SharedUser Sel juhul loome selle nimega . Kuna see kasutaja ei kasuta ekraani ega muuda seadeid, ei saa parooli muuta.

Kui jätate vaikimisi, saate selle kasutajaga sisse logida kaugtöölaua jms abil, nii et palun eemaldage grupist Users .

Ühiskausta loomine

Pole tähtis, kus te selle loote. Seda seetõttu, et teised serverid ei hooli füüsilise kausta asukohast. Sel juhul loome kausta, mille nimi on otse C-draivi all SharedFolder , ja jagame seda.

Avage atribuudid ja konfigureerige jagamissätted.

Ühiskausta nimi peaks SharedFolder olema . See nimi on nähtav teistele serveritele. Lisage SharedUser õigused.

Everyone Kustutage olemasolev .

Kinnitage loaga "Muuda".

Kuna oleme lisanud ainult õigused, millele pääseb juurde väljastpoolt, seame selle sisemiselt SharedUser nii, et see saaks selles kaustas töötada.

Kinnitage loaga "Muuda".

Toimingu kontrollimiseks looge fail.

See on OK, kui pääsete Exploreris juurde teisest arvutist \\<サーバー名>\ , logiteSharedUser sisse ja vaatate faili.

Rakendusserveri loomine

IIS-i installimine

Praegu installige see vaikimisi serverihaldurist. Ma ei lasku protseduuri üksikasjadesse.

Lisafunktsioone pole vaja.

Praegu pole täiendavaid IIS-teenuseid vaja.

ASP.NET Core Runtime Hosting Bundle'i installimine

Kuna kasutame ASP.NET Core 6, peame käitusaja vastavalt installima. Laadige see alla järgmiselt URL-ilt:

Selleks, et käivitada ASP.NET Core IIS-is, vajate midagi, mida nimetatakse "Hosting Bundle". Laadige alla "Hosting Bundle" ASP.NET Core Runtime'ist.

Pärast allalaadimist käivitage see serveris.

Selle installimiseks järgige viisardit.

Veebirakenduste loomine ja juurutamine

Avage Windowsi haldustööriistade kaudu Internet Information Services (IIS) Manager.

Võite kasutada "Vaikimisi veebisaiti" sellisena, nagu see on, kuid seekord loome uue saidi. Vaikeveebisait käivitatakse automaatselt, nii et palun peatage see.

Looge uus veebisait.

Seekord on SharedFolderAccess saidi nimi , kuid see pole oluline.

Rakenduste kogum luuakse uue saidi jaoks automaatselt.

Looge ja määrake oma valitud kaust, kuhu soovite programmi paigutada.

Port 80 on märgistatud "Vaikimisi veebisait" ja näete hoiatust, kuid võite seda ignoreerida, kui see on juba maas.

See on loodud.

Avage Windows Exploreri veebisaidil määratud kaust ning kopeerige ja paigutage kõik avaldatud programmid sellistena, nagu need on.

Avage leht IIS-i lingilt ja vaadake, kas ekraan ilmub. Kõigepealt saate avada veebibrauseri ja sisestada URL-i otse.

Muide, isegi kui klõpsate selles olekus nuppu, saate vea, sest loa seadistus pole veel lõpule viidud.

Kasutaja loomine

Looge rakendusserveris sama kasutaja SharedUser nagu ühiskausta serveris. Veenduge, et ka teie paroolid ühtiksid. Sammud on täpselt samad.

Rakenduste kogumi õiguste muutmine

Juurdepääsu veebiprogrammidele määrab rakenduste kogum. Vaikimisi on sellel ainult ApplicationPoolIdentity veebirakenduste käitamise õigused.

Muutes selle õiguse väärtuseks SharedUser , saab veebiprogramm töötada teie määratud kasutaja õigustega. See võimaldab veebiprogrammidel SharedUser pääseda juurde ühiskaustadele rakenduses .

IIS-i halduri avamisel valige Rakendusekogumid.

Veebisaidi loomisel lisatakse SharedFolderAccess see automaatselt, nii et paremklõpsake seda ja valige "Advanced".

Protsessimudelis on "ID", nii et klõpsake paremal asuvat nuppu.

Valige "Kohandatud konto" ja klõpsake nuppu "Seaded".

SharedUser Sisestage ja kinnitage oma kasutajanimi ja parool.

Toimingu kinnitamine

Minge veebilehele ja klõpsake nuppu. Kui kuvatakse tekstifaili sisu, on see edukas.

Veenduge, et ühiskaustas oleks ka uus fail.