この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

Site クラス

Site クラスを使用してサイトを管理します。パスワードの有効期限を変更、リセット、検証、および確認します。サイトユーザー、個人取引先、およびポータルユーザーを作成します。管理者のメールアドレスと ID を取得します。各種の URL、パスプレフィックス、ID、テンプレート、およびサイトの種別を取得します。サイトにログインします。

名前空間

System

Site のメソッド

Site のメソッドは次のとおりです。すべてのメソッドが静的です。

changePassword(newPassword, verifyNewPassword, oldPassword)

現在のユーザーのパスワードを変更します。

署名

public static System.PageReference changePassword(String newPassword, String verifyNewPassword, String oldPassword)

パラメーター

newPassword
型: String
verifyNewPassword
型: String
oldPassword
型: String
現在のユーザーのパスワードの有効期限が切れている場合のみ省略可能です。そうでない場合は必須です。

戻り値

型: System.PageReference

使用方法

API バージョン 30.0 以降では、このメソッドへのコールはトランザクションを自動的にコミットできません。API バージョン 30.0 より前では、このメソッドへのコールはトランザクションをコミットするため、コール前のセーブポイントにロールバックできません。

createExternalUser(user, accountId)

特定の取引先の Salesforce サイトユーザーまたは Experience Cloud サイトユーザーを作成してサイトに関連付けます。

署名

public static Id createExternalUser(SObject user, String accountId)

パラメーター

user
型: SObject
ユーザーを作成するために必要な情報。

ユーザーのメールアドレスを使用して、指定された accountId に関連付けられる一致する取引先責任者を検索します。一致する取引先責任者が見つかり、外部ユーザーによってすでに使用されている場合、セルフ登録は成功しません。一致する取引先責任者が見つかり、外部ユーザーによって使用されていない場合、その取引先責任者は新規外部ユーザーの取引先責任者として使用されます。一致する取引先責任者がない場合、新規外部ユーザーの新規取引先責任者が作成されます。

accountId
型: String
ユーザーを関連付ける取引先の ID。

戻り値

型: Id

このメソッドで作成されるユーザーの ID。

使用方法

このメソッドは、ユーザーの作成に失敗すると、Site.ExternalUserCreateException を発生させます。

nickname 項目は、createExternalUser メソッドを使用する場合に User sObject に必要です。

このメソッドは、サイトがカスタマーポータルに関連付けられている場合にのみ有効です。

メモ

API バージョン 30.0 以降では、このメソッドへのコールはトランザクションを自動的にコミットできません。API バージョン 30.0 より前では、このメソッドへのコールはトランザクションをコミットするため、コール前のセーブポイントにロールバックできません。

createExternalUser(user, accountId, password)

特定の取引先の Salesforce サイトユーザーまたは Experience Cloud サイトユーザーを作成してサイトに関連付けます。このメソッドでは、指定されたパスワードが記載されたメールをユーザーに送信します。

署名

public static Id createExternalUser(SObject user, String accountId, String password)

パラメーター

user
型: SObject
ユーザーを作成するために必要な情報。

ユーザーのメールアドレスを使用して、指定された accountId に関連付けられる一致する取引先責任者を検索します。一致する取引先責任者が見つかり、外部ユーザーによってすでに使用されている場合、セルフ登録は成功しません。一致する取引先責任者が見つかり、外部ユーザーによって使用されていない場合、その取引先責任者は新規外部ユーザーの取引先責任者として使用されます。一致する取引先責任者がない場合、新規外部ユーザーの新規取引先責任者が作成されます。

accountId
型: String
ユーザーを関連付ける取引先の ID。
password
型: String
Salesforce サイトユーザーまたは Experience Cloud サイトユーザーのパスワード。指定しない場合、または null または空の文字列が設定されている場合、このメソッドは新しいパスワードメールをポータルユーザーに送信します。

戻り値

型: Id

このメソッドで作成されるユーザーの ID。

使用方法

このメソッドは、ユーザーの作成に失敗すると、Site.ExternalUserCreateException を発生させます。

nickname 項目は、createExternalUser メソッドを使用する場合に User sObject に必要です。

このメソッドは、サイトがカスタマーポータルに関連付けられている場合にのみ有効です。

メモ

API バージョン 30.0 以降では、このメソッドへのコールはトランザクションを自動的にコミットできません。API バージョン 30.0 より前では、このメソッドへのコールはトランザクションをコミットするため、コール前のセーブポイントにロールバックできません。

createExternalUser(user, accountId, password, sendEmailConfirmation)

Salesforce サイトユーザーまたは Experience Cloud サイトユーザーを作成して特定の取引先に関連付けます。このメソッドでは、指定されたパスワードが記載されたメールと新規ユーザーの確認メールをユーザーに送信します。

署名

public static Id createExternalUser(SObject user, String accountId, String password, Boolean sendEmailConfirmation)

パラメーター

user
型: SObject
ユーザーを作成するために必要な情報。

ユーザーのメールアドレスを使用して、指定された accountId に関連付けられる一致する取引先責任者を検索します。一致する取引先責任者が見つかり、外部ユーザーによってすでに使用されている場合、セルフ登録は成功しません。一致する取引先責任者が見つかり、外部ユーザーによって使用されていない場合、その取引先責任者は新規外部ユーザーの取引先責任者として使用されます。一致する取引先責任者がない場合、新規外部ユーザーの新規取引先責任者が作成されます。

accountId
型: String
ユーザーを関連付ける取引先の ID。
password
型: String
Salesforce サイトユーザーまたは Experience Cloud サイトユーザーのパスワード。指定しない場合、または null または空の文字列が設定されている場合、このメソッドは新しいパスワードメールをポータルユーザーに送信します。
sendEmailConfirmation
型: Boolean
新しいユーザーメールがポータルユーザーに送信されるかどうかを指定します。新しいユーザーメールをポータルユーザーに送信するには、true に設定します。デフォルトは false で、新しいユーザーメールは送信されません。

戻り値

型: Id

このメソッドで作成されるユーザーの ID。

使用方法

このメソッドは、ユーザーの作成に失敗すると、Site.ExternalUserCreateException を発生させます。

nickname 項目は、createExternalUser メソッドを使用する場合に User sObject に必要です。

このメソッドは、サイトがカスタマーポータルに関連付けられている場合にのみ有効です。

メモ

API バージョン 30.0 以降では、このメソッドへのコールはトランザクションを自動的にコミットできません。API バージョン 30.0 より前では、このメソッドへのコールはトランザクションをコミットするため、コール前のセーブポイントにロールバックできません。

createPersonAccountPortalUser(user, ownerId, password)

ゲストユーザーのプロファイルに定義されているデフォルトのレコードタイプを使用して個人取引先を作成し、サイトのポータルでその個人取引先を有効化します。

署名

public static ID createPersonAccountPortalUser(sObject user, String ownerId, String password)

パラメーター

user
型: sObject
ownerId
型: String
password
型: String

戻り値

型: ID

使用方法

API バージョン 30.0 以降では、このメソッドへのコールはトランザクションを自動的にコミットできません。API バージョン 30.0 より前では、このメソッドへのコールはトランザクションをコミットするため、コール前のセーブポイントにロールバックできません。

この方法は、サイトがカスタマーポータルに関連付けられている場合、およびデフォルトの新しいユーザープロファイルのユーザーライセンスが大規模ポータルユーザーである場合にのみ有効です。

メモ

createPersonAccountPortalUser(user, ownerId, recordTypeId, password)

指定された recordTypeID を使用して個人取引先を作成し、サイトのポータルでその個人取引先を有効化します。

署名

public static ID createPersonAccountPortalUser(sObject user, String ownerId, String recordTypeId, String password)

パラメーター

user
型: sObject
ownerId
型: String
recordTypeId
型: String
password
型: String

戻り値

型: ID

使用方法

API バージョン 30.0 以降では、このメソッドへのコールはトランザクションを自動的にコミットできません。API バージョン 30.0 より前では、このメソッドへのコールはトランザクションをコミットするため、コール前のセーブポイントにロールバックできません。

この方法は、サイトがカスタマーポータルに関連付けられている場合、およびデフォルトの新しいユーザープロファイルのユーザーライセンスが大規模ポータルユーザーである場合にのみ有効です。

メモ

createPortalUser(user, accountId, password, sendEmailConfirmation)

指定された取引先のポータルユーザーを作成し、サイトのポータルと関連付けます。

署名

public static ID createPortalUser(sObject user, String accountId, String password, Boolean sendEmailConfirmation)

パラメーター

user
型: sObject
accountId
型: String
password
型: String
(省略可能) ポータルユーザーのパスワードです。指定しない場合、または null または空の文字列が設定されている場合、このメソッドは新しいパスワードメールをポータルユーザーに送信します。
sendEmailConfirmation
型: Boolean
(省略可能) 新しいユーザーメールがポータルユーザーに送信されるかどうかを指定します。新しいユーザーメールをポータルユーザーに送信するには、true に設定します。デフォルトは false で、新しいユーザーメールは送信されません。

戻り値

型: ID

使用方法

API バージョン 34.0 以降を使用している場合、このメソッドよりも適切にエラーが処理される createExternalUser() メソッドを使用することをお勧めします。

nickname 項目は、createPortalUser メソッドを使用する場合にユーザーの sObject に必要です。

このメソッドは、サイトがカスタマーポータルに関連付けられている場合にのみ有効です。

メモ

API バージョン 30.0 以降では、このメソッドへのコールはトランザクションを自動的にコミットできません。API バージョン 30.0 より前では、このメソッドへのコールはトランザクションをコミットするため、コール前のセーブポイントにロールバックできません。

forgotPassword(username, emailTemplateName)

ユーザーのパスワードをリセットし、新しいパスワードを記載したメールをユーザーに送信します。カスタムメールテンプレートを指定することも、デフォルトメールテンプレートを使用することもできます。パスワードのリセットが正常に行われたかどうかを示す値を返します。

署名

public static Boolean forgotPassword(String username,String emailTemplateName)

パラメーター

username
型: String
emailTemplateName
型: String
指定された場合、このテンプレートがメールに適用されます。それ以外の場合、デフォルトのシステムテンプレートが適用されます。存在しないメールテンプレートが指定された場合、例外が記録されます。

戻り値

型: Boolean

Visualforce ページの外側からコールされない限り、戻り値は常に true です。

メモ

使用方法

API バージョン 30.0 以降では、このメソッドへのコールはトランザクションを自動的にコミットできません。API バージョン 30.0 より前では、このメソッドへのコールはトランザクションをコミットするため、コール前のセーブポイントにロールバックできません。

非同期実行を可能にする @future メソッドと Site.forgotPassword を一緒に使用することはできません。

メモ

forgotPassword(username)

ユーザーのパスワードをリセットし、新しいパスワードを記載したメールをユーザーに送信します。パスワードのリセットが正常に行われたかどうかを示す値を返します。

署名

public static Boolean forgotPassword(String username)

パラメーター

username
型: String

戻り値

型: Boolean

Visualforce ページの外側からコールされない限り、戻り値は常に true です。

メモ

使用方法

API バージョン 30.0 以降では、このメソッドへのコールはトランザクションを自動的にコミットできません。API バージョン 30.0 より前では、このメソッドへのコールはトランザクションをコミットするため、コール前のセーブポイントにロールバックできません。

非同期実行を可能にする @future メソッドと Site.forgotPassword を一緒に使用することはできません。

メモ

getAdminEmail()

サイト管理者のメールアドレスを返します。

署名

public static String getAdminEmail()

戻り値

型: String

getAdminId()

サイト管理者のユーザー ID を返します。

署名

public static ID getAdminId()

戻り値

型: ID

getAnalyticsTrackingCode()

サイトに関連付けられている追跡コード。Google アナリティクスなどのサービスは、このコードを使用してサイトのページ要求データを追跡できます。

署名

public static String getAnalyticsTrackingCode()

戻り値

型: String

getCurrentSiteUrl()

非推奨。このメソッドは API バージョン 30.0 の getBaseUrl() に置き換えられました。参照やリンクで使用する必要がある、現在のサイトのベース URL を返します。

署名

この項目では、現在の要求の URL ではなく、参照元ページの URL を返す場合があります。返された値にはパスプレフィックスが含まれており、値の末尾は常に / 文字です。現在の要求がサイト要求ではない場合、このメソッドは null を返します。現在の要求がサイト要求ではない場合、このメソッドは null を返します。このメソッドは API バージョン 30.0 の getBaseUrl に置き換えられました。

public static String getCurrentSiteUrl()

戻り値

型: String

使用方法

代わりに、getBaseUrl() を使用してください。

getBaseCustomUrl()

force.com サブドメインが使用されていない、現在のサイトのベース URL を返します。サイトの Force.com 以外のカスタム URL のうち、少なくとも 1 つが HTTPS をサポートしている場合、返された URL は、現在の要求と同じプロトコル (HTTP または HTTPS) を使用します。返された値の末尾は常に / 文字以外です。このサイトのすべてのカスタム URL の末尾が Force.com か、このサイトにカスタム URL がない場合、空の文字列が返されます。現在の要求がサイト要求ではない場合、このメソッドは空の文字列を返します。このメソッドにより getCustomWebAddress() が置き換えられました。またこのメソッドにはカスタム URL のパスプレフィックスが含まれます。

署名

public static String getBaseCustomUrl()

戻り値

型: String

使用方法

このメソッドにより getCustomWebAddress() が置き換えられます。またこのメソッドにはカスタム URL のパスプレフィックスが含まれます。

getBaseInsecureUrl()

非推奨。HTTPS ではなく HTTP が使用されている、現在のサイトのベース URL を返します。現在の要求のドメインが使用されます。返された値にはパスプレフィックスが含まれており、値の末尾は常に / 文字以外です。現在の要求がサイト要求ではない場合、このメソッドは空の文字列を返します。

署名

public static String getBaseInsecureUrl()

戻り値

型: String

getBaseRequestUrl()

要求された URL について、現在のサイトのベース URL を返します。これは、参照元ページの URL による影響を受けません。返された URL は、現在の要求と同じプロトコル (HTTP または HTTPS) を使用します。返された値にはパスプレフィックスが含まれており、値の末尾は常に / 文字以外です。現在の要求がサイト要求ではない場合、このメソッドは空の文字列を返します。

署名

public static String getBaseRequestUrl()

戻り値

型: String

getBaseSecureUrl()

HTTP ではなく HTTPS が使用されている、現在のサイトのベース URL を返します。現在の要求のドメインが HTTPS をサポートしていれば優先されます。Force.com サブドメイン以外のドメインは、Force.com サブドメインよりも優先されます。Force.com サブドメインは、サイトに関連付けられている場合、現在のサイトに他の HTTPS ドメインがなければ使用されます。サイトに HTTPS カスタム URL がない場合、このメソッドは空の文字列を返します。返された値にはパスプレフィックスが含まれており、値の末尾は常に / 文字以外です。現在の要求がサイト要求ではない場合、このメソッドは空の文字列を返します。

署名

public static String getBaseSecureUrl()

戻り値

型: String

getBaseUrl()

参照やリンクで使用する必要がある、現在のサイトのベース URL を返します。この項目は、現在の要求の URL ではなく、参照元ページの URL を返す場合があります。返された値にはパスプレフィックスが含まれており、値の末尾は常に / 文字以外です。現在の要求がサイト要求ではない場合、この項目は空の文字列を返します。getCurrentSiteUrl は、この項目に置き換えられます。

署名

public static String getBaseUrl()

戻り値

型: String

使用方法

getCurrentSiteUrl() は、このメソッドに置き換えられます。

getCustomWebAddress()

非推奨。このメソッドは API バージョン 30.0 の getBaseCustomUrl() に置き換えられました。

署名

要求のカスタム URL の末尾が Lightning プラットフォームではない場合はカスタム URL を返し、そうでない場合はサイトの主カスタム URL を返します。どちらも存在しない場合は、null を返します。この URL のパスは、要求のカスタム URL にパスプレフィックスがあっても、常にルートです。現在の要求がサイト要求ではない場合、このメソッドは null を返します。返された値の末尾は常に / 文字です。

public static String getCustomWebAddress()

戻り値

型: String

使用方法

代わりに、getBaseCustomUrl() を使用してください。

getDomain()

Salesforce サイトベースの URL を返します。

署名

public static String getDomain()

戻り値

型: String

getErrorDescription()

現在のページがサイトに指定されたエラーページであり、エラーがある場合は、現在のページのエラーの説明を返し、そうでない場合は空の文字列を返します。

署名

public static String getErrorDescription()

戻り値

型: String

getErrorMessage()

現在のページがサイトに指定されたエラーページで、エラーがある場合は、現在のページのエラーメッセージを返し、そうでない場合は空の文字列を返します。

署名

public static String getErrorMessage()

戻り値

型: String

getExperienceId()

エクスペリエンス ID (expid) の値を返します。この expid 値は、ユーザーの Web ブラウザーの Cookie から取得されます。

署名

public static String getExperienceId()

戻り値

型: String

使用方法

動的ログイン環境を実装するには、getExperienceId および setExperienceId メソッドを使用します。setExperienceId を使用して、または次のエンドポイントを expid_value で拡張してエクスペリエンス ID を設定できます。

  • community-url/services/oauth2/authorize/expid_value
  • community-url/idp/endpoint/HttpPost/expid_value
  • community-url/idp/endpoint/HttpRedirect/expid_value
  • community-url_login_page/expid={value}
  • community-url/CommunitiesSelfReg?expid={value}
  • secur/forgotpassword.jsp?expid={value}

ブラウザーが expid 値を含む URL を読み込むときに Cookie が設定されます。

getMasterLabel()

現在のサイトの [マスター表示ラベル] 項目の値を返します。現在の要求がサイト要求ではない場合、この項目は null を返します。

署名

public static String getMasterLabel()

戻り値

型: String

getName()

現在のサイトの API 参照名を返します。

署名

public static String getName()

戻り値

型: String

getOriginalUrl()

このページがサイトに指定されたエラーページである場合は、元の URL を返し、そうでない場合は null を返します。

署名

public static String getOriginalUrl()

戻り値

型: String

getPasswordPolicyStatement()

カスタマーサービステンプレートで作成された Salesforce サイトまたは Experience Cloud サイトのパスワード要件を返します。

署名

public static String getPasswordPolicyStatement()

戻り値

型: String

getPathPrefix()

現在のサイトの URL パスプレフィックスを返し、存在しない場合は空の文字列を返します。たとえば、要求されたサイト URL が https://myco.my.salesforce-sites.com/partners である場合、/partners がパスプレフィックスです。現在の要求がサイト要求ではない場合、このメソッドは空の文字列を返します。このメソッドは API バージョン 30.0 の getPrefix に置き換わりました。

署名

public static String getPathPrefix()

戻り値

型: String

getPrefix()

非推奨。このメソッドは API バージョン 30.0 の getPathPrefix() に置き換えられました。

署名

現在のサイトの URL パスプレフィックスを返します。たとえば、サイト URL が MyDomainName.my.salesforce-sites.com/partners である場合、/partners がパスのプレフィックスです。プレフィックスが定義されていない場合は null を返します。現在の要求がサイト要求ではない場合、このメソッドは null を返します。

public static String getPrefix()

戻り値

型: String

getSiteId()

現在のサイトの ID を返します。現在の要求がサイト要求ではない場合、この項目は null を返します。

署名

public static String getSiteId()

戻り値

型: Id

getTemplate()

現在のサイトに関連付けられたテンプレートを返します。テンプレートが指定されていない場合、デフォルトテンプレートを返します。

署名

public static System.PageReference getTemplate()

戻り値

型: System.PageReference

getSiteType()

現在のサイトの [サイト種別] 項目の API 値を返します。これは、Salesforce サイトの Visualforce、Site.com サイトの Siteforce、Experience Cloud サイトの ChatterNetwork、または Experience Cloud サイトの ChatterNetworkPicasso を返します。現在の要求がサイト要求ではない場合、このメソッドは null を返します。

署名

public static String getSiteType()

戻り値

型: String

getSiteTypeLabel()

現在のサイトの [サイト種別] 項目の表示ラベル値を返します。現在の要求がサイト要求ではない場合、このメソッドは null を返します。

署名

public static String getSiteTypeLabel()

戻り値

型: String

isLoginEnabled()

現在のサイトがログインが有効なポータルと関連付けられている場合は true を返し、そうでない場合は false を返します。

署名

public static Boolean isLoginEnabled()

戻り値

型: Boolean

isPasswordExpired()

認証ユーザーの場合、現在ログインしているユーザーのパスワードの有効期限が切れている場合、true を返します。認証されていないユーザーの場合は、false を返します。

署名

public static Boolean isPasswordExpired()

戻り値

型: Boolean

isRegistrationEnabled()

現在のサイトが有効なセルフ登録対応のカスタマーポータルと関連付けられている場合は true を返し、そうでない場合は false を返します。

署名

public static Boolean isRegistrationEnabled()

戻り値

型: Boolean

isValidUsername(username)

特定のユーザー名が有効な場合は true、有効ではない場合は false を返します。

署名

public static Boolean isValidUsername(String username)

パラメーター

username
型: String
有効性をテストするユーザー名。

戻り値

型: Boolean

login(username, password, startUrl)

ユーザーは指定されたユーザー名およびパスワードで現在のサイトにログインでき、ユーザーを startUrl に誘導します。startUrl が相対パスでない場合、デフォルトはサイトの指定されたインデックスページになります。

署名

public static System.PageReference login(String username, String password, String startUrl)

パラメーター

username
型: String
password
型: String
startUrl
型: String

戻り値

型: System.PageReference

使用方法

Site.login をコールする前のすべての DML ステートメントがコミットされます。Site.login をコールする前に作成されたセーブポイントにロールバックできません。

startURLhttp:// または https:// を指定しないでください。

メモ

passwordlessLogin(userId, methods, startUrl)

パスワードの代わりにメールやテキストなどの ID 検証方法を使用してユーザーを Salesforce サイトまたは Experience Cloud サイトにログインさせます。パスワードなしのログインは、ユーザーをサイトに迎え入れるためのモバイル重視の便利な方法です。ユーザーはメールアドレスや電話番号など、パスワード以外の情報でログインできます。

署名

public static System.PageReference passwordlessLogin(Id userId, List<Auth.VerificationMethod> methods, String startUrl)

パラメーター

userId
型: Id
ログインするユーザーの ID。
methods
型: List<Auth.VerificationMethod>
ユーザーがパスワードなしのログインで使用できる ID 検証方法のリスト。
startUrl
型: String
ログイン後にユーザーに表示するページへのパス。

戻り値

型: System.PageReference

使用方法

カスタムログインページ実装の Apex コントローラーにこのメソッドを含めます。

passwordlessLogin の例

この Apex コントローラーの簡単なコード例には、passwordlessLogin メソッドが含まれています。passwordlessLogin で返された PageReference は、ユーザーを Salesforce の検証ページにリダイレクトします。ユーザーは、正しいコードを入力すると、開始 URL で指定されたサイトページにリダイレクトされます。

1global with sharing class MFILoginController      
2{
3   //Input variables 
4   global String input {get; set;}
5   public String startURL  {get; set;}
6   public List<Auth.VerificationMethod> methods;
7   public String error;
8
9   global MFILoginController()
10   {
11       // Add verification methods in priority order
12       methods = new List<Auth.VerificationMethod>();
13       methods.add(Auth.VerificationMethod.SMS);
14       methods.add(Auth.VerificationMethod.EMAIL);
15       methods.add(Auth.VerificationMethod.U2F);
16       methods.add(Auth.VerificationMethod.SALESFORCE_AUTHENTICATOR);
17       methods.add(Auth.VerificationMethod.TOTP);
18   }
19
20   global PageReference login() { 
21        List<User> users = null;
22        
23        // Empty input
24        if(input == null || input == '')
25        {
26            error = 'Enter Username';
27            return null;
28        }
29    
30        users = [select name, id, email from User where username=:input];
31        if(users == null || users.isEmpty())
32        {
33            error = 'Can\'t find a user';            
34            return null;
35        }  
36 
37        if (startURL == null) startURL = '/';    
38        return Site.passwordlessLogin(users[0].id, methods, startURL);
39    }
40}

setExperienceId(expIdValue)

現在のユーザーのエクスペリエンス ID を設定します。ユーザーの Web ブラウザーのエクスペリエンス ID (expid) の値を入力するには、このメソッドを使用します。

署名

public static void setExperienceId(String expIdValue)

パラメーター

expIdValue
型: String
ユーザーのログイン環境を示す値。

この値には最大 30 文字の英数字のみを使用します。

使用方法

動的ログイン環境を実装する場合は、setExperienceId を使用します。ログイン環境とは、ログインページとそれに関連付けられたセカンダリページを指します (多要素認証 (MFA) やログインフローなど)。ユーザーは誰か、またはユーザーはどこからログインしているかに応じて、異なるログイン環境を定義します。たとえば、ユーザーの場所に基づいて異なる登録プロセスを要求できます。この場合、expIdValue には都道府県または国コードが含まれます。ユーザーがログインすると、URL にはエクスペリエンス ID パラメーター {expid} が含まれます。{expid} パラメーターは、.jp など、expIdValue に保存されている値で置き換えられます。すると、ユーザーは日本語ログイン環境にリダイレクトされます。

1String expid = ApexPages.currentPage().getParameters().get('expid'); 
2  if (expId != null) {
3  Site.setExperienceId(expId); 
4  }

setPortalUserAsAuthProvider(user, contactId)

サイトのポータル内の指定されたユーザー情報を認証プロバイダー経由で設定します。

署名

public static Void setPortalUserAsAuthProvider(sObject user, String contactId)

パラメーター

user
型: sObject
contactId
型: String

戻り値

型: Void

使用方法

  • このメソッドは、サイトがカスタマーポータルに関連付けられている場合にのみ有効です。
  • API バージョン 30.0 以降では、このメソッドへのコールはトランザクションを自動的にコミットできません。API バージョン 30.0 より前では、このメソッドへのコールはトランザクションをコミットするため、コール前のセーブポイントにロールバックできません。
  • 認証プロバイダーについての詳細は、「RegistrationHandler」を参照してください。

validatePassword(user, password, confirmPassword)

特定のパスワードが、現在のユーザーの組織全体またはプロファイルベースのパスワードポリシーで指定された要件を満たすかどうかを示します。

署名

public static void validatePassword(SObject user, String password, String confirmPassword)

パラメーター

user
型: SObject
Salesforce サイトまたは Experience Cloud サイトのセルフ登録中にパスワードを作成しようとしているユーザー。
password
型: String
ユーザーが入力したパスワード。
confirmPassword
型: String
パスワードの確認のためにユーザーが再入力したパスワード。

戻り値

型: void

使用方法

メソッドが Lightning コントローラーで実行されたときに検証が失敗すると、失敗した検証を説明する Apex 例外が発生します。メソッドが Visualforce コントローラーで実行されたときに検証が失敗すると、Visualforce エラーメッセージが提供されます。