自定义 Apex 登录控制器
Salesforce 提供了一种使用登录发现页面自定义登录流程的简单方法,该页面允许您实施无密码登录。但是,如果您想要对登录流程进行更多控制,您可以修改 Apex 登录控制器并使用自定义的 Visualforce 页面。
所需的 Edition
| 适用于:Salesforce Classic 和 Lightning Experience |
| 适用于:Enterprise、Performance、Unlimited 和 Developer Edition |
| 所需用户权限 | |
|---|---|
| 创建和编辑 Visualforce 页面: | 自定义应用程序 |
| 若要编辑 Apex 类: | 作者 Apex 与 自定义应用程序 |
您可以使用这些步骤自定义默认页面、体验生成器页面和 Visualforce 页面的登录过程。如果您使用登录发现页面以编程方式实施无密码登录,请参阅使用无密码登录注册电子邮件或电话号码。
有关登录页面的更多信息,请参见登录页面类型。
- 从“设置”的“快速查找”框中,输入Apex 类,然后选择 Apex 类。
-
在
CommunitiesLoginController旁边,单击编辑。 -
添加以下代码。
global PageReference forwardToCustomAuthPage() { String startUrl = System.currentPageReference().getParameters().get('startURL'); return new PageReference(Site.getPathPrefix() + '/SiteLogin?startURL=' + EncodingUtil.urlEncode(startURL, 'UTF-8')); } -
如果您创建了自定义登录页面,请使用 Visualforce 页面的名称替换
SiteLogin。 - 单击保存。
-
单击
CommunitiesLandingController旁边的编辑。 -
添加该代码。
public PageReference forwardToCustomAuthPage() { String startUrl = System.currentPageReference().getParameters().get('startURL'); return new PageReference(Site.getPathPrefix() + '/SiteLogin?startURL=' + EncodingUtil.urlEncode(startURL, 'UTF-8')); } -
如果您创建了自定义登录页面,请使用 Visualforce 页面的名称替换
SiteLogin。 - 单击保存。
- 从“设置”中,在快速查找方框中输入Visualforce 页面,然后选择Visualforce 页面。
-
单击
CommunitiesLogin旁边的编辑。 -
在第一行代码中添加以下内容:
action="{!forwardToCustomAuthPage}" - 单击保存。
-
单击
CommunitiesLanding旁边的编辑。 -
在第一行代码中添加以下内容:
action="{!forwardToCustomAuthPage}" - 单击保存。
本文章是否解决您的问题?
请与我们共享您的想法,以便我们进行改进!

