Have an amazing solution built in RAD Studio? Let us know. Looking for discounts? Visit our Special Offers page!
C++DelphiRAD Studioニュース

RAD Studio 13で導入予定の新機能:WebStencils はさらに強力になります

webstencils-13

このブログ記事は、RAD Studio ソフトウェアのプレリリース版に基づいています。製品の正式リリースまで、機能は提供されません。

RAD Studio 13 で今後提供される機能強化により、Web 開発がさらに容易になります。皆様からのフィードバックに基づき、安全な Web アプリケーションとサービスをより迅速に構築できる新機能をリリースしていきます。

シンプルなセッション管理

新しいTWebSessionManagerコンポーネントを使用すると、高度なセッション管理をすぐに利用できます。 Cookie ベースのセッション(デフォルト)、ヘッダーベースのセッション、クエリパラメータベースのセッションのいずれが必要であっても、すべてのセッションデータは WebStencils テンプレートで @session.xxx 構文を通じて利用できます。

この方法の優れた点は、セッションスコープの柔軟性です。無制限のセッション、認証されたユーザーごとに 1 つのセッション、さらにはユーザーと IP の組み合わせごとに 1 つのセッションを設定してセキュリティを強化することもできます。セッションは設定可能なタイムアウト後に自動的に期限切れになります。また、各セッションのカスタムオブジェクトを DataVars に直接保存して、アプリケーション全体から簡単にアクセスできます。

アクセスは簡単です。TWebRequest.Session は Delphi または C++ コードで現在のセッションを提供するため、セットアップコードなしでカスタムデータの保存と取得をすぐに開始できます。

新しい認証コンポーネント

WebStencils では、@session.customObject を使用してセッションデータにアクセスするか、便利なショートカット @customObject 構文を使用して、長いセッション参照を使用せずに DataVars に保存されたオブジェクトを取得します。

煩雑な手間を省いた認証

かつて認証とは、大量の定型コードを書くことを意味していましたが、今ではもう違います。すぐに使える2つの認証コードを用意しました。

  • TWebBasicAuthenticator 標準 HTTP ベーシック認証用
  • TWebFormsAuthenticator カスタム HTML フォームベースのログインフロー用

TWebFormsAuthenticator は特に優れています。ログインフロー全体を処理します。 LoginURLFailedURLHomeURLの各プロパティを設定するだけで、認証されていないユーザーをログインページに自動的にリダイレクトし、POST認証情報を処理し、returnUrlパラメータを使用してユーザーを元の場所に戻します。実装する必要があるのは、ユーザーストアに対して資格情報を検証するための OnAuthenticate イベントだけです。


procedure TMainWebModule.WebFormsAuthenticatorAuthenticate(Sender: TCustomWebAuthenticator;
                                                           Request: TWebRequest;
                                                           const UserName, Password: string;
                                                           var Roles: string;
                                                           var Success: Boolean);
begin
  Success := False;
  Roles := '';
  if ValidateUserCredentials(UserName, Password) then
  begin
    Success := True;
    Roles := GetUserRoles(UserName);
  end;
end;

ロールベースの認可

セキュリティとは、ユーザーが誰であるかを把握するだけでなく、ユーザーが何を実行できるかを制御することも重要です。新しいTWebAuthorizerコンポーネントは、認可ゾーンを通じて柔軟なロールベースのアクセス制御を提供します。URLパターンを使用してアプリケーションのセクション全体を保護し、どのユーザーロールにアクセスを許可するかを指定できます。 /admin* のような URL パターンを使用してアプリケーションのセクション全体を保護し、シンプルなカンマ区切りのリストでアクセス権を持つユーザーロールを指定できます。

認証レベルにより、きめ細かな制御が可能です。匿名アクセスの場合は zkFree、認証済みユーザーのみの場合は zkProtected、処理を完全にスキップする場合は zkIgnore です。認証に失敗した場合は、自動的にUnauthorizedURLにリダイレクトされるか、ユーザーが認証されている場合は403ステータスが返されます。

WebStencils テンプレートでは、@session.UserHasRole(‘admin’) などを使用することで、テンプレート内でユーザーロールに基づいてコンテンツの表示/非表示を直接切り替えられるようになりました。つまり、ユーザー権限に基づいてテンプレートのセクション全体を表示/非表示にすることができます。

Web Broker アプリケーションのホスティングオプションの強化

さらに、FastCGI サポートにより Web Broker のデプロイメントオプションも拡張され、NGINX などの最新の Web サーバーとの連携が容易になります。 FastCGI アプリケーションは個別のプロセスとして実行されるため、従来のアプローチに比べて分離性とスケーラビリティが向上します。

さらに、Apache、IIS、その他のホスティング環境のいずれを使用していても、Web サーバーのネイティブ ログ システムと連携する、ログ記録のサポートが強化されています。

まとめ

これらは単なる漸進的な改善ではなく、最新の Web アプリケーションの基盤となるものです。セッション管理、認証、認可、そして柔軟なデプロイメントオプションが Web Broker に組み込まれるため、面倒な作業に煩わされることなく、機能の開発に集中できます。

WebStencils with HTMX – ガイドとして使える無料のホワイトペーパーを公開

日本語版はこちらからご利用いただけます。「HTMXとWebStencils」RAD Studioで高速Web開発

その他にも、無料HTMX & WebStencils ガイド(英語)が、既存の言語オプションである スペイン語 (新しく翻訳されました!) でもご利用いただけるようになりました: ドイツ語ポルトガル語繁体字および簡体字の中国語版です。HTMXとWebStencilsを連携させるための実践的な例や役立つヒントが満載です。

このブログ記事は、RAD Studioソフトウェアのプレリリース版に基づいています。製品の正式リリースまで、機能はコミットされません。

Kai for RAD Studio is Now Available! Special Live Webinar: Introducing Kai - A New Chapter for RAD Studio RAD Studio 13.1 Florence Now Available

Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder.
Design. Code. Compile. Deploy.

Start Free Trial   Upgrade Today

   Free Delphi Community Edition   Free C++Builder Community Edition

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

IN THE ARTICLES