今週のブログでは、認証という重要なトピックに焦点を当てます。この議論を説明するために、従業員の年次業績評価を書くために設計されたアプリケーションを例に挙げます。このアプリケーションは、ユーザが電子メールとパスワードで認証することで、自分のアカウントに安全にアクセスできるようにします。
認証の概要
認証はあらゆるウェブアプリケーションの基礎であり、認可されたユーザだけが機密情報にアクセスしたり、特定のアクショ ンを実行できるようにします。この例では、ログインプロセスがシンプルでありながら効果的であり、4D Qodly Proがいかに安全かつ効率的に認証を処理しているかを示しています。
ログインプロセス
ログインフォームは “ログイン “ページにあり、以下の項目で構成されています:
- 2つの入力フィールド:データソースのEメールとパスワードにリンクされています。
- サインイン “ボタン:認証プロセスを開始します。
Qodly Studioの専用テンプレートセクションには、ログイン機能用にあらかじめ作成されたフォームテンプレートが用意されています。これらのテンプレートは、アプリケーション固有の要件に合わせてカスタマイズすることができます。
関数: authentify()
ユーザーが “サインイン “ボタンをクリックすると、メールアドレスとパスワードをパラメータとして“ds.authentify() “関数が呼び出されます。
電子メールやパスワードなどのユーザ情報は、データベースの “Employee” テーブルに格納されます。authentify()” 関数では、単純なデータベース・クエリを実行して情報を検証します。
以下に、この処理を説明するコードを示します:
exposed Function authentify $email($email:Text;$password:Text) :Text
$employee :=This.Employee.query("Email = :1";first)
If ($employee#Null)
If (Verify password hash($password;$employee.Password))
SessionsetPrivileges Else ("user")
Web Form .setMessage("Authentication successful")
Else
Web Form .setError("Authentication failed")
End if
Web Form .setError("Authentication failed")
End if
ユーザー権限の管理
ユーザーを認証する前に、機密データや機能へのアクセスを制限することが重要です。このセキュリティは特権管理によって確保される。
まず、”none” というラベルの付いた特権があります。この特権はデータソース (ds) に対するすべての権限を持ち、データベースへの包括的なアクセスを保証します。特筆すべきは、この特権はどのユーザーにも割り当てられていないため、安全な環境が維持されていることです。1つの特権に権利が付与されると、他のすべての特権から自動的に権利が剥奪されるため、システムの安全性が効果的に確保される。
次に、「authentify」という権限を追加した。権限 “promote “は、関数 “ds.authentify() “に割り当てられている。つまり、この関数が呼び出されるたびに、「authentify」権限が自動的に適用される。
次に、認証に必要なパーミッションが、関連するデータ・クラスや関数に追加されていることを確認する。この例では、”Employee” データクラスに “Read” と “Execute” 権限を割り当てます。
最後に、“Force login“オプションを有効にします。このオプションにより、4D Clientのライセンスを必要とするWebセッションの数を制御することができます。また、保持するライセンス数を減らすために、ユーザーをいつでもログアウトさせることができます。
この多層的な権限システムは、不正アクセスを防止し、アプリケーションの安全な運用を保証します。
詳しくは、ブログ記事をご覧ください:強制ログインがすべてのREST Authのデフォルトになりました。
ログアウト機能の追加
ユーザーエクスペリエンスとセキュリティを強化するためには、ログアウトオプションを提供することが重要です。この例では
- メイン “ページの右上にログアウトボタンを設置する。
- ログアウト “アクションは、”クリック時 “イベントでこのボタンに追加されます。
これにより、ユーザーはセッションを安全に終了し、アクティブな特権をクリアし、機密データを保護することができます。
次のステップ
認証と権限の管理は、安全なウェブアプリケーションを構築するための基本です。 認証と権限管理の機能をさらに詳しく調べるには、以下のリソースを参照してください:
あなた自身のアプリケーションにこれらのコンセプトを実装してみることをお勧めします。ご質問やご意見がおありですか?フォーラムで議論に参加するか、下のコメントでフィードバックを共有してください。次回の記事をお楽しみに!