タグ付けされた質問 「asp.net-core-2.0」


28
ASP.NET Core 2.0へのアップグレード後に移行を作成できない
ASP.NET Core 2.0にアップグレードした後、移行を作成できなくなったようです。 私は得ています 「クラス 'Program'のメソッド 'BuildWebHost'の呼び出し中にエラーが発生しました。アプリケーションサービスプロバイダーなしで続行しています。エラー:1つ以上のエラーが発生しました。(データベースを開けません "...")ログインによって要求されました。ログインは失敗しました。ログインユーザー「...」の失敗 そして 「タイプ 'MyContext'のオブジェクトを作成できません。プロジェクトに 'IDesignTimeDbContextFactory'の実装を追加するか、設計時にサポートされる追加のパターンについてhttps://go.microsoft.com/fwlink/?linkid=851728を参照して ください。」 以前に実行したコマンドは$ dotnet ef migrations add InitialCreate --startup-project "..\Web"(DBContextを含むプロジェクト/フォルダーから)でした。 接続文字列: "Server=(localdb)\\mssqllocaldb;Database=database;Trusted_Connection=True;MultipleActiveResultSets=true" これは私のProgram.csです public class Program { public static void Main(string[] args) { BuildWebHost(args).Run(); } public static IWebHost BuildWebHost(string[] args) => WebHost.CreateDefaultBuilder(args) .UseStartup<Startup>() .Build(); }

6
ASP.Net Core 2.1でのID:AccountControllerのカスタマイズ
インストールしましたASP.NET Core 2.1が、with →をASP.NET Core Web Application使用ASP.NET Core 2.1して新しいを作成しましたが、AccountControllerまたはViewsが見つかりません。Individual User AccountsStore user accounts in-app それでも問題なく登録してログインできますが、そのコードが見つかりません。2.0に存在していました。

2
ASP.NET Core 2.0認証ミドルウェア
Core 1.1では、@ blowdartのアドバイスに従い、カスタムミドルウェアを実装しました。 https://stackoverflow.com/a/31465227/29821 それはこのように機能しました: ミドルウェアが実行されました。リクエストヘッダーからトークンを取得しました。 トークンを検証し、有効な場合、HttpContext.User.AddIdentity();を介して追加された複数のクレームを含むID(ClaimsIdentity)を構築しました。 services.AddAuthorizationを使用するConfigureServicesで、ミドルウェアによって提供される要求を要求するポリシーを追加しました。 コントローラ/アクションでは、[Authorize(Roles = "ミドルウェアが追加した役割")]を使用します。 これは2.0で多少機能しますが、トークンが無効で(上記のステップ2)、クレームが追加されない場合は、「authenticationSchemeが指定されておらず、DefaultChallengeSchemeが見つかりませんでした」というメッセージが表示されます。 だから今私は2.0で変更されたauthを読んでいます: https://docs.microsoft.com/en-us/aspnet/core/migration/1x-to-2x/identity-2x ASP.NET Core 2.0で同じことをするための正しい方法は何ですか?本当にカスタム認証を行う例は見当たりません。

2
複数のJWTベアラー認証を使用する
ASP.NET Core 2で複数のJWTトークン発行者をサポートすることは可能ですか?外部サービス用のAPIを提供したいので、JWTトークンの2つのソース(FirebaseとカスタムJWTトークン発行者)を使用する必要があります。ASP.NETコアでは、Bearer認証スキームにJWT認証を設定できますが、1つの機関にのみ設定できます。 services .AddAuthentication(JwtBearerDefaults.AuthenticationScheme) .AddJwtBearer(options => { options.Authority = "https://securetoken.google.com/my-firebase-project" options.TokenValidationParameters = new TokenValidationParameters { ValidateIssuer = true, ValidIssuer = "my-firebase-project" ValidateAudience = true, ValidAudience = "my-firebase-project" ValidateLifetime = true }; } 複数の発行者とオーディエンスを持つことができますが、複数の機関を設定することはできません。

4
ルートプロバイダーからスコープサービスを解決できません。NetCore2
アプリを実行しようとすると、エラーが発生します InvalidOperationException: Cannot resolve 'API.Domain.Data.Repositories.IEmailRepository' from root provider because it requires scoped service 'API.Domain.Data.EmailRouterContext'. 奇妙なことに、このEmailRepositoryとインターフェースは、他のすべてのリポジトリーとまったく同じように設定されていますが、エラーはスローされません。このエラーは、app.UseEmailingExceptionHandling();を使用しようとした場合にのみ発生します。ライン。これが私のStartup.csファイルの一部です。 public class Startup { public IConfiguration Configuration { get; protected set; } private APIEnvironment _environment { get; set; } public Startup(IConfiguration configuration, IHostingEnvironment env) { Configuration = configuration; _environment = APIEnvironment.Development; if (env.IsProduction()) _environment = …

2
.NET Core 3.0でAddJwtBearer拡張機能を置き換える方法
.NET Core 2.2でコンパイルして動作する次のコードがあります。 byte[] key = Encoding.ASCII.GetBytes(Constants.JWT_SECRET); services.AddAuthentication(x => { x.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme; x.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme; }) .AddJwtBearer(x => { x.RequireHttpsMetadata = false; x.SaveToken = true; x.TokenValidationParameters = new TokenValidationParameters { ValidateIssuerSigningKey = true, IssuerSigningKey = new SymmetricSecurityKey(key), ValidateIssuer = false, ValidateAudience = false }; }); .NET Core 3.0では、次のエラーが発生します。 エラーCS1061「AuthenticationBuilder」には「AddJwtBearer」の定義が含まれておらず、タイプ「AuthenticationBuilder」の最初の引数を受け入れるアクセス可能な拡張メソッド「AddJwtBearer」が見つかりませんでした(usingディレクティブまたはアセンブリ参照がありませんか?) …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.