.NET 統合 - クイックスタートガイド

このガイドの目的は、ASP.NET Core または ASP.NET MVC 5 アプリケーションにおいて、CrowdHandler の基本的な .NET 統合を行う方法を概説することです。

さらに詳細なカスタマイズや高度な設定については、プロジェクトのGitHub リポジトリまたはNuGet のドキュメントをご参照ください。

1.) プロジェクトへの参照を追加してください。

これを行うにはNuGetを使うのが最も簡単です。次のものを探してください。 Crowdhandler.MVCSDK NuGet パッケージ マネージャーでパッケージをインストールするか、あるいは dotnet CLI を使用してインストールします。

dotnet add package Crowdhandler.MVCSDK

.NET Framework では、代わりにパッケージ マネージャー コンソールを使用してください。

Install-Package Crowdhandler.MVCSDK

このパッケージは、ASP.NET Core 6、8、9、10、および .NET Framework 4.7.2 以降の ASP.NET MVC 5 をサポートしています。

2.) CrowdHandler の設定を注入します。

* 公開鍵と秘密鍵は、CrowdHandler コントロールパネルの「アカウント」→「API」セクションで確認できます。

appsettings.jsonを使用したASP.NET Core

{
  "Crowdhandler": {
    "PublicApiKey": "YOUR_PUBLIC_KEY",
    "PrivateApiKey": "YOUR_PRIVATE_KEY"
  }
}

ユーザーシークレットまたは環境変数を使用します(Crowdhandler__PrivateApiKey) 秘密鍵をコミットするのではなく。

web.configによるASP.NET MVC 5の設定

<appSettings>
    <add key="CROWDHANDLER_PUBLIC_KEY" value="YOUR_PUBLIC_KEY"/>
    <add key="CROWDHANDLER_PRIVATE_KEY" value="YOUR_PRIVATE_KEY"/>
</appSettings>

* 設定可能な項目の全リストとそのデフォルト設定については、設定リファレンスをご覧ください。

3.) リクエストにCrowdHandlerを適用します。

ASP.NET Core

アプリケーションの起動時にミドルウェアを登録してください。このミドルウェアはすべてのリクエストを検証するため、静的ファイル、ルーティング、エンドポイントよりも前に配置してください。

Program.cs

using Crowdhandler.MVCSDK.AspNetCore;

var builder = WebApplication.CreateBuilder(args);
builder.Services.AddCrowdhandler(builder.Configuration.GetSection("Crowdhandler"));

var app = builder.Build();

app.UseCrowdhandler();
app.UseStaticFiles();
app.MapControllers();
app.Run();

特定のコントローラのアクションのみを保護するには、ミドルウェアの代わりにfilter属性を適用してください。

ExampleTicketingController.cs

using Crowdhandler.MVCSDK;

namespace MyTicketingApp.Controllers
{
    public class TicketingController : Controller
    {
        [CrowdhandlerFilter]
        public IActionResult Index()
        {
            return View();
        }
    }
}

ASP.NET MVC 5

保護したいコントローラーのアクションに、filter属性を適用します。

ExampleTicketingController.cs

using Crowdhandler.MVCSDK;

namespace MyTicketingApp.Controllers
{
    public class TicketingController : Controller
    {
        [CrowdhandlerFilter]
        public ActionResult Index()
        {
            return View();
        }
    }
}

すべてのアクションを保護するには、それをグローバルに FilterConfig.cs.

filters.Add(new CrowdhandlerFilterAttribute());

URLを除外する

静的アセット(ファイル拡張子による)は、デフォルトではキューイングの対象外となっています。「除外」設定を使用して、キューイングの対象から除外したいURLパターンを追加で指定できます。この設定には、キューイングの対象としないパターンを含む正規表現を指定します。指定方法は以下の通りです。 appsettings.json または web.config (CROWDHANDLER_EXCLUSIONS_REGEX)、あるいは以下のようにfilter属性に指定します。

無視すべき一般的なパターンは以下の通りです:

  • 静的アセットやメディアを保存するために使用されるパス。例:/static-media/*
  • サードパーティの決済プロバイダーによって生成されたコールバックURL。
  • JSONおよびRSSフィード。
[CrowdhandlerFilter(Exclusions = @"^(/contact-us.*)|(/api/.*)|(^[^?]*\.(css|js|png|jpg|gif|svg|ico|woff2?)(\?.*)?$)")]

4.) CrowdHandlerのコントロールパネルで、統合タイプを「.NET」に変更します。

デプロイ先の選択は、ドメイン画面から行うことができます。

5.) さて、これからどうする?

.NET との統合手順が完了したら、CrowdHandler コントロールパネル内での待合室の作成および設定について理解を深めるのに役立つ「はじめに」ガイドをご覧になることをお勧めします。