Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 27998|Vastaus: 3

[Lähde] Asp.Net todennus ja valtuutus MVC:ssä

[Kopioi linkki]
Julkaistu 16.3.2017 13.47.34 | | |

MVC:ssä on ActionFilter
Identiteetin tunnistautumisen saavuttamiseksi Asp.NET WebFormissa Microsoft tarjoaa meille kolme tapaa, joista yleisin on lomakkeen tunnistautuminen, joka täytyy konfiguroida vastaavilla tiedoilla. Esimerkiksi seuraavat konfiguraatiotiedot:


Se tarkoittaa, että kirjautumissivumme on Login.aspx, oletussivu onnistuneen kirjautumisen jälkeen on Default.aspx, ja käyttäjätietomme käyttävät kahta menetelmää: varmennus ja salaus. Ja tärkeintä on, että meidän täytyy kirjoittaa valtuutusmenetelmä (alla oleva valtuutus täytyy kirjoittaa, muuten on turhaa käyttää vain Forms-tunnistautumista ja asettaa asiaankuuluvat attribuutit), kieltää kaikki anonyymit käyttäjät, ja vain kirjautuneet käyttäjät pääsevät normaalisti käyttöön. Tämän jälkeen asetimme kirjautumispainikkeen kirjoittamaan käyttäjätunnuksen evästeeseen (eli suoritamme FormsAuthentication.SetAuthCookie(name, false); Siinä se.
0 Asp.Net MVC:ssä voimme myös käyttää Forms-tunnistautumista, mutta jos teet sen WebFormissa, se ei toimi. Esimerkiksi konfiguroit tiedot näin:


Asetat kirjautumisen Login.aspx käynnistääksesi kirjautumisen AccountControllerissa, jossa kirjautumiskoodi:

Tämän jälkeen huomaat, ettei kirjautumistasi suoriteta. Mikä on syy? Miksi sama asetus ei toimi MVC:ssä? Syynä on se, että mekanismi on erilainen, koska asetat valtuutusmenetelmän, joka tekee Logonista saavuttamattoman. Miten me sitten teemme sen?
Itse asiassa Asp.Net MVC:ssä meillä on parempi tapa tehdä kaikki tämä, emme tarvitse valtuutusmenetelmää, mikä tarkoittaa, että konfiguraatiotietomme näyttää tältä:




Ei tarvitse täsmentää, että anonyymit käyttäjät eivät voi kirjautua sisään jne. Tietenkin huomaat, että pelkkä tämä ei riitä, mutta meidän täytyy kertoa järjestelmälle, mitkä tiedostot täytyy kirjautua sisään päästäkseen käsiksi. Saatat ajatella, o()〈))o Voi, se on liikaa vaivalloista. Se ei ole niin, se on hyvin yksinkertaista, meidän tarvitsee vain merkitä [Valtuutus] toimintoon, joka täytyy todentaa. Esimerkiksi minulla on kaksi sivua kotikansiossa, Indeksi ja Koti, ja haluan Indeksin autentikoidun pääsyä varten, mutta Koti ei, joten minun tarvitsee vain antaa Indeksille Toiminto-tunniste [Authorize], eli:



Tämä mahdollistaa Indexin pääsyn kirjautumisen jälkeen, kun taas Homea ei tarvitse kirjautua sisään. Jos roolit täytyy valtuuttaa, voit määrittää roolin merkitsemällä Authorize (esim. [Authorize(Role=Administrators)]), mutta sinun täytyy käyttää Microsoftin tarjoamaa jäsenyysmekanismia, koska roolisi ei voi olla olemassa turhaan, vaan se löytyy vastaavasta tietokannasta, josta mainitsin toisessa blogissa.
Mukauta ActionFilteriä
Joskus et pysty täyttämään tällaista tunnistautumista, tai jos koet, ettet ole tarpeeksi joustava, sillä ei ole väliä, Asp.Net MVC mahdollistaa ActionFilterin räätälöinnin. Esimerkiksi muokkaan nyt tunnistautumista:


Jos käyttäjähallintaa tarvitaan, määrittelen rooliin liittyvät suodattimet:

Itse asiassa huomaat, että yllä mainitut kaksi attribuuttia on ratkaistu MVC:n sisäänrakennetulla Authorized-ominaisuudella, ja tässä kerromme lähinnä, että voit tarvittaessa laajentaa sitä.
No, siinä kaikki tältä päivältä! Lähdekoodin lataus: FormFormsAuthenticationMvc





Edellinen:VPS-päivityksen jälkeen prosessi on noin 45 ja prosessori käy 100:aan,
Seuraava:Varoitus "Ratkaisemattomia ristiriitoja löydetty saman riippuvan kokoonpanon eri versioiden välillä"
 Vuokraisäntä| Julkaistu 30.3.2017 9.40.22 |
Julkaistu 28.12.2017 14.58.56 |
Olisi parempi, jos olisi renderöintiä
Julkaistu 7.2.2023 15.44.56 |

Olisi parempi, jos olisi renderöintiä
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com