


Teilen Sie ein Beispiel dafür, wie ASP.NET Core Geheimnisse (Benutzergeheimnisse) in der Entwicklungsumgebung speichert
Dieser Artikel stellt hauptsächlich detailliert vor, wie ASP.NET Core vertrauliche Benutzergeheimnisse in der Entwicklungsumgebung speichert. Er hat einen gewissen Referenzwert.
Vorwort
Im Prozess der Anwendungsentwicklung ist es manchmal notwendig, einige vertrauliche Informationen im Code zu speichern, wie z. B. Verschlüsselungsschlüssel, Zeichenfolgen oder Benutzernamen, Passwörter usw. Der übliche Ansatz besteht darin, es in einer Konfigurationsdatei zu speichern. In der Vergangenheit haben wir es in web.config gespeichert, aber in ASP.NET Core hat sich diese Methode möglicherweise geändert, oder Sie verfügen über vielfältigere Methoden und elegantere Konfigurationen zum Festlegen oder Speichern dieser vertraulichen Informationen.
Zuerst dachte ich, dass dieses UserSecrets nutzlos sei, denn wenn ich etwas konfigurieren müsste, könnte ich es direkt in der Datei appsetting.json konfigurieren Als Entwicklungsprozess spürte ich seinen wahren Nutzen.
Verzeichnis
Einführung in Benutzergeheimnisse
So fügen Sie Benutzergeheimnisse hinzu
Verwendung von Benutzergeheimnissen in Anwendungen
Zusammenfassung
Einführung in Benutzergeheimnisse
Sie können darüber nachdenken, wie wir die folgenden Szenarien im vorherigen Code gehandhabt haben:
Sie müssen einige Schlüssel für die Verbindung mit Websites von Drittanbietern speichern, z. B. The appkey, der von WeChat- und Weibo-Sites verwendet wird
konfiguriert unterschiedliche Benutzernamen und Passwörter für jeden Entwickler, um auf einige Ressourcen zuzugreifen
-
Entwickler Verwenden Sie während des Entwicklungsprozesses Ihre eigene lokale Datenbank. Wie konfiguriere ich die Datenbankadresse, das Konto und das Passwort? Lassen Sie jeden seine eigene web.config ändern, übermitteln Sie sie jedoch nicht, wenn Sie den Code übermitteln. Wenn Sie also weitere Konfigurationselemente zu web.config hinzufügen, ist es offensichtlich unvernünftig, die Datei web.config nicht einzureichen.
Jetzt bietet ASP.NET Core eine sehr elegante und prägnante Möglichkeit, mit User Secrets dieses Problem zu lösen.
Startup.cs
:in Projekt .json In der Datei sehen Sie einige Konfigurationen im Zusammenhang mit Benutzergeheimnissen
public Startup(IHostingEnvironment env) { ..... if (env.IsDevelopment()) { builder.AddUserSecrets(); } builder.AddEnvironmentVariables(); }
Sie können die Codezeile builder.AddUserSecrets sehen, die sich in der Entwicklungsumgebung befindet läuft.
{ "userSecretsId": "aspnet-WebAppCore-e278c40f-15bd-4c19-9662-541514f02f3e" ... "Microsoft.Extensions.Configuration.UserSecrets": "1.0.0", "Microsoft.Extensions.SecretManager.Tools": “1.0.0-preview2-final” }
userSecretsId wird verwendet, um die Benutzergeheimnisse des Projekts eindeutig zu identifizieren. Wenn es zwei Projekte gibt, die unterschiedliche Geheimnisse verwenden müssen, müssen sie unterschiedliche userSecretsId haben.
Microsoft.Extensions.SecretManager.Tools Wird hauptsächlich zum Festlegen oder Anzeigen des Werts von Geheimnissen verwendet.
So fügen Sie Benutzergeheimnisse hinzu
Sie können den Befehl in der Befehlszeile verwenden, um Folgendes hinzuzufügen:Bild
dotnet user-secrets -h
ein, um die Befehle anzuzeigen, die verwendet werden könnenVerwenden Sie dotnet user-secrets list
Alle Benutzergeheimnisse auflistenVerwenden Sie dotnet user-secrets set WeChatAppKey „X3423FEED2435DD“
, um eine festzulegen Benutzergeheimnis, wobei WebChatAppKey der Schlüssel ist, gefolgt vom Wert.Verwenden Sie dann Dotnet-Benutzergeheimnisliste
, um die festgelegten Schlüssel-Wert-Paare anzuzeigen.Dann habe ich eine Datenbankverbindungszeichenfolge eingerichtet.
- Das Obige dient der Verwendung der Befehlszeile zum Festlegen von Benutzergeheimnissen. Sie können für diese Arbeit auch Visual Studio 2015 anstelle der Befehlszeile verwenden. Klicken Sie in Visual Studio mit der rechten Maustaste auf das Webprojekt. Sie können ein Menü mit Benutzergeheimnisse verwalten
Bild
Wenn Sie zum Öffnen klicken, wird eine Datei „secrets.json“ angezeigt, die die gerade in der Befehlszeile festgelegten Schlüssel-Wert-Paare enthält:
Bild
Einige Schüler können dies tun Da es sich um einen Speicher in Secrets.json handelt, fragen Sie: Wo ist diese Datei?
Wo wird Secrets.json gespeichert?
In Nicht-Windows-Systemen ist der SpeicherortIn Windows-Systemen ist der Speicherort
~/.microsoft/usersecrets/<userSecretsId>/secrets.json
userSecretsId
in der Datei
C:\Users\用户名\AppData\Roaming\Microsoft\UserSecrets\aspnet-WebAppCore-e278c40f-15bd-4c19-9662-541514f02f3e
Benutzergeheimnisse in Anwendungen verwenden
project.json Abhängigkeiten vorhanden sind in der Datei vorhanden:
Microsoft.Extensions.Configuration.UserSecrets und builder.AddUserSecrets().
然后在Startup.cs文件中通过 Configuration 对象访问
public IConfigurationRoot Configuration { get; } public void ConfigureServices(IServiceCollection services) { var wechatKey = Configuration["WeChatAppKey"] }
你可以使用DI来将用户机密映射到一个C#类文件,像这样
secrets.json
{ "SecretsKeys": { WeCharAppKey:"xxejfwert3045", WeboAppKey:"35402345lkefgjlkdfg", ..... } }
SecretsKeysConfig.cs
public class SecretsKeysConfig { public string WeCharAppKey { get; set;} public string WeboAppKey { get; set;} // ...... }
Startup.cs
public void ConfigureServices(IServiceCollection services) { services.Configure<SecretsKeysConfig>(Configuration.GetSection("SecretsKeys")); // 其他代码 }
HomeController.cs
public class HomeController : Controller { public SecretsKeysConfig AppConfigs { get; } public HomeController(IOptions<SecretsKeysConfig> appkeys) { AppConfigs = appkeys.Value; } }
注意:如果你的appsetting.json文件中有和secrets.json文件中相同节点(冲突)的配置项,那么就会被secrets.json中的设置项给覆盖掉,因为 builder.AddUserSecrets()晚于 AddJsonFile("appsettings.json")注册, 那么我们可以利用这个特性来在每个开发人员的机器上重新设置数据库连接字符串了。
总结
以上,或许可以感受到微软在 ASP.NET Core 中对于开发人员还是非常贴心的,很多小细节都考虑到了,因此在我们构建应用程序的过程中,可以多使用这些小功能(特性)来让我们的代码更加的优雅~
【相关推荐】
4. 如何在ASP.NET Core中使用Cookie中间件的详细介绍
5. .Net Core中如何使用ref和Span
Das obige ist der detaillierte Inhalt vonTeilen Sie ein Beispiel dafür, wie ASP.NET Core Geheimnisse (Benutzergeheimnisse) in der Entwicklungsumgebung speichert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Microsofts Windows 11 2022 Update (22H2) aktiviert standardmäßig den Speicherintegritätsschutz von CoreIsolation. Wenn Sie jedoch eine ältere Version des Betriebssystems ausführen, beispielsweise Windows 11 2022 Update (22H1), müssen Sie diese Funktion manuell aktivieren. Aktivieren Sie die Speicherintegritätsfunktion von CoreIsolation in Windows 11. Für Benutzer, die sich mit Core Isolation nicht auskennen: Es handelt sich um einen Sicherheitsprozess, der grundlegende Kernaktivitäten unter Windows vor Schadprogrammen schützen soll, indem er sie im Speicher isoliert. Dieser Prozess gewährleistet in Kombination mit der Speicherintegritätsfunktion

Kern hat in Computern zwei Bedeutungen: 1. Der Kern, auch Kern genannt, ist der wichtigste Teil der CPU. Alle Berechnungen, die Annahme von Speicherbefehlen und die Verarbeitung von Daten der CPU werden vom Kern durchgeführt. Core ist der Prozessorname von Intel. Core ist die Prozessormarke, die Intel nach dem Pentium-Prozessor eingeführt hat. Derzeit werden Core-Prozessoren der zwölften Generation herausgebracht.
![So beheben Sie den thermischen Auslösefehler des Prozessors in Windows 11/10 [Fix]](https://img.php.cn/upload/article/000/000/164/168169038621890.png?x-oss-process=image/resize,m_fill,h_207,w_330)
Die meisten Geräte wie Laptops und Desktops werden seit langem stark von jungen Gamern und Programmierern genutzt. Das System hängt manchmal aufgrund einer Anwendungsüberlastung. Dies zwingt Benutzer dazu, ihre Systeme herunterzufahren. Dies passiert hauptsächlich Spielern, die umfangreiche Spiele installieren und spielen. Wenn das System nach einem erzwungenen Herunterfahren versucht, zu starten, wird auf einem schwarzen Bildschirm ein Fehler angezeigt, wie unten dargestellt: Nachfolgend sind die Warnungen aufgeführt, die während dieses Startvorgangs erkannt wurden. Diese können in den Einstellungen auf der Seite „Ereignisprotokoll“ eingesehen werden. Warnung: Überhitzung des Prozessors. Drücken Sie eine beliebige Taste, um fortzufahren. ..Diese Art von Warnmeldungen werden immer dann ausgegeben, wenn die Prozessortemperatur eines Desktops oder Laptops den Temperaturschwellenwert überschreitet. Nachfolgend sind die Gründe aufgeführt, warum dies auf Windows-Systemen geschieht. Viele schwere Anwendungen sind in

In Docker kann das Berechtigungsproblem des Mount-Verzeichnisses normalerweise durch die folgende Methode gelöst werden: Hinzufügen berechtigungsbezogener Optionen bei Verwendung des Parameters -v zur Angabe des Mount-Verzeichnisses. Sie können die Berechtigungen des gemounteten Verzeichnisses angeben, indem Sie nach dem gemounteten Verzeichnis Folgendes hinzufügen: ro oder :rw, was jeweils Lese- und Lese-/Schreibberechtigungen angibt. Beispiel: dockerrun-v/host/path:/container/path:roimage_name Definieren Sie die USER-Direktive in der Docker-Datei, um den Benutzer anzugeben, der im Container ausgeführt wird, um sicherzustellen, dass Vorgänge innerhalb des Containers den Berechtigungsanforderungen entsprechen. Zum Beispiel: FROMimage_name#CreateanewuserRUNuseradd-ms/bin/

CORE-Coin: Lohnt es sich, ihn langfristig zu halten? CORE Coin ist eine Kryptowährung, die auf dem Proof of Work (PoW)-Konsensmechanismus basiert und 2018 vom Core-Team gegründet wurde. Ziel ist es, ein sicheres, effizientes und skalierbares digitales Währungssystem zu etablieren, das in großem Umfang für Zahlungen und Wertspeicherung genutzt wird. CORE Coin soll eine dezentrale Zahlungslösung bieten, die den Benutzern mehr Datenschutz und Transaktionskomfort bietet. Vorteile und Sicherheit der CORE-Währung: Die CORE-Währung basiert auf dem Workload-Proof-Konsensmechanismus und verfügt über eine hohe Sicherheit. Effizient: Die Transaktionsgeschwindigkeit der CORE-Münze ist hoch und kann Tausende von Transaktionen pro Sekunde verarbeiten. Skalierbar: Der CORE-Coin verfügt über eine große Blockkapazität und kann eine große Anzahl von Transaktionen unterstützen. Dezentralisierung: CORE Coin ist eine dezentrale Kryptowährung

Unter Linux ist Core ein Speicherabbild mit hinzugefügten Debugging-Informationen. Wenn ein Programm unter Linux beendet oder abnormal beendet wird, verwenden wir die Core-Datei zur Analyse, die den Speicher, Register, Stapelzeiger und andere Informationen enthält, wenn das Programm ausgeführt wird. Das Format ist ELF, was so verstanden werden kann, dass der aktuelle Status des Programms in eine Datei geschrieben wird.

Mit der Einführung von .NETCore haben .NET-Entwickler eine neue Möglichkeit, .NET-Anwendungen einfach auf mehreren Betriebssystemen zu schreiben und auszuführen. In diesem Artikel wird erläutert, wie Sie mit .NETCore eine plattformübergreifende Anwendungsentwicklung erreichen und Best-Practice-Erfahrungen auf Betriebssystemen wie Windows, Linux und macOS austauschen. 1. Bereiten Sie die Entwicklungsumgebung vor. Um mit der plattformübergreifenden Anwendungsentwicklung zu beginnen, müssen Sie zunächst die Entwicklungsumgebung für jede Zielplattform vorbereiten. Windows Unter Windows können Sie .NETCoreSDK über Visual Studio installieren. Nach Abschluss der Installation können Sie .NETCore-Projekte über Visual Studio erstellen und ausführen. Li

Rund ein Jahr nach der Ankündigung der Core Ultra Series 1, auch bekannt als Meteor Lake, legt Intel mit der zweiten Generation nach. Core Ultra Series 2 alias Lunar Lake wurde bereits auf der Computex im Juni vorgestellt. Auf der IFA fand die endgültige Markteinführung des Core Ultr statt
