開発マシンで実行中のASPNETコアサイトを利用して、いくつかの初期ユーザーのパスワードを保存する新しいローカル秘密マネージャーを利用します。私はIConfigurationRoot.GetSection( "username")経由で秘密ストアにアクセスします。ここでASPNETコア:秘密になっているAzureのアプリケーション設定へのアクセス
はIConfigurationRootがStartup.csに建設されます方法は次のとおりです。
var builder = new ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
.AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true);
if (env.IsDevelopment())
{
// For more details on using the user secret store see http://go.microsoft.com/fwlink/?LinkID=532709
builder.AddUserSecrets();
}
builder.AddEnvironmentVariables();
Configuration = builder.Build();
最終ラインがIConfigurationRootプロパティであること。
これは開発に役立ちます。残念ながら、私がサイトをAzureに公開したとき、パスワードは見つからない。 Azureは秘密隠しをサポートしていませんが、環境変数を設定できます。同じ鍵を使用すると、構成コードが構成情報の要求を解決しようとしたときに、その鍵が見つかると思いました。残念ながら、それは動作していないので、私は明らかに何かが欠けています。ここで
は、私はアズールで設定したキーを持っている方法は次のとおりです。私は成功した私の開発マシン上の秘密の隠し場所にアクセスするために使用するよう
は、それらは同じキーです。
どうしたのですか?
Hey Markは、ツール/コマンドラインを使って設定した秘密の 'key、value'ペアです。' appSettings.json'の権利にありますか?もし 'yes'ならばAzure'sによって' overrideen'することができます。希望は意味をなさない。基本的には、 'Appsettings.json'と' secrets.json'構造は、それらをアプリケーションで使うために同じでなければなりません。 – Jaya
Thanx、JS、しかし私はそれが正しいとは思わない。少なくとも、私は、Azureのものが何らかの環境変数になる可能性があると言ったことを覚えているようです。さらに、appSettings.jsonに秘密の資格を置くことは、私がしたいことではありません。Azure環境変数は、これまで公開されていないはずです。 –
オハイオ州私はあなたが 'appSettings.json'の価値を望んでいないことを理解しています - 私が意図したことは、AzureのAppSettingsが識別して置き換えるための' dummy'値を持つ構造体を必要とすることです。我々はそれを働かせる。私は、AzureのappSettingsの第2部分には読まれていないと答えようとしていました。したがって、私たちの場合、AzureSQLを指すAzurePortalのlocalDbを指す接続文字列を – Jaya