ここでは、
オフライン ネイティブ モバイル アプリケーションで
GeneXus Access Manager (GAM) を使用する際に考慮すべき注意事項について説明します。
GeneXus Access Manager を使用するためには、アプリケーションのオンライン時にログインする必要があります。オフライン時にログインしても使用できません。
ただし、正常にログインした後にオフラインで作業することは可能です。セッションはユーザーがログアウトするまで維持されるため、認証が必要な各パネルを使用して作業を継続できます。
次の GAMUser オブジェクトの静的メソッドは、アプリケーションがオンラインの場合もオフラインの場合でも、デバイスで実行中のコードから呼び出すことができます。
- GetId: 例: &GAMGUID = GAMUser.GetId()
- GetEmail: 例: &email = GAMUser.GetEmail()
- GetExternalId: 例: &externalId = GAMUser.GetExternalId()
- GetLogin: 例: &login = GAMUser.GetLogin()
- GetName: 例: &name= GAMUser.GetName()
- isAnonymous: 例: &isAnonymous = GAMUser.isAnonymous()
ナレッジベースに GAM がインストールされている場合、既定で、GeneXus の同期プログラムでは認証の統合が行われます。つまり、アプリケーションで認証されたユーザーのみが同期プログラムを正常に実行できます。
これらのセキュリティ設定を変更するには、メインオブジェクトとその
オフライン データベース オブジェクトの
[ Integrated Security Level ] プロパティを変更します。
メインオブジェクトの [ Integrated Security Level ] プロパティが Authorization の場合、対応する実行権限が生成され、
OfflineEventReplicator プロシージャー (
Synchronization.Send メソッド) が呼び出された際に実行時チェックが行われます。
オフライン データベース オブジェクトの [ Integrated Security Level ] プロパティが Authorization の場合、対応する実行権限が生成され、
データ同期 (
受信) が呼び出された際に実行時チェックが行われます。
- 認証は、サーバー側にアクセスする場合、つまり同期サービスやその他の REST インターフェース (
[ Connectivity Support ] プロパティが Online のオブジェクト) にアクセスするときにのみ確認されます。
- GAMUser.get() または &GAMUser.GUID など、静的メソッドでない GAMUser オブジェクト。
- GAMSession オブジェクトなど、その他の GAM 外部オブジェクト。