force.com网站-指向salesforce visual force页面的直接链接不起作用

force.com网站-指向salesforce visual force页面的直接链接不起作用,salesforce,apex,force.com,Salesforce,Apex,Force.com,我在使用force.com网站时遇到障碍 模板电子邮件用于发送给门户网站用户,并直接链接到salesforce中的某些记录 示例https://example.force.com/SamplePage?id=xxxxx 通过尝试中途使用refURL param,如下一个示例所示: https://example.force.com?refURL=/SamplePage?id=xxxxx 但是从一个障碍到另一个障碍,现在每次我点击电子邮件中的新链接,我都必须重新登录,不管我刚刚登录 因此,对于第

我在使用force.com网站时遇到障碍 模板电子邮件用于发送给门户网站用户,并直接链接到salesforce中的某些记录 示例<代码>https://example.force.com/SamplePage?id=xxxxx

通过尝试中途使用refURL param,如下一个示例所示:

https://example.force.com?refURL=/SamplePage?id=xxxxx
但是从一个障碍到另一个障碍,现在每次我点击电子邮件中的新链接,我都必须重新登录,不管我刚刚登录

因此,对于第一次尝试,输入登录站点的凭据是合乎逻辑的,但我需要通过单击电子邮件中的链接来防止每次会话仍然打开时再次登录 我在Apex中的登录代码如下:

global PageReference login() {

    //Get refUrl
    String strRefUrl = System.currentPageReference().getParameters().get('refURL'); 

    //Get startUrl
    String strStartUrl = System.currentPageReference().getParameters().get('startURL'); 

   if(strRefUrl != null && strRefUrl != '' && ! strRefUrl.startsWithIgnoreCase(Site.getBaseInsecureUrl() )){     
        //Need to remove domain part because site.login() does not redirect to absolute URL
        strStartUrl  = strRefUrl.replace(Site.getBaseRequestUrl(),'');
    }
    else if (strRefUrl.startsWithIgnoreCase(Site.getBaseInsecureUrl())){ 
        //Redirect to base URL if refUrl is empty
        strStartUrl = Site.getBaseUrl() + '/LoginPage';
    } 

    return Site.login(username, password, strStartUrl );

}

你能调试并检查strStartUrl的值吗?我的登录没有问题,登录过程很好,我确实可以重定向到所需的页面这里是
SamplePage
,但我要问的是,当会话仍然打开时,每次单击直接链接时,我都必须做些什么来防止登录。你能调试并检查
strStartUrl
的值吗我的登录没有问题,登录过程很好,我确实可以重定向到所需页面这里是
SamplePage
,但我要问的是,当会话仍然打开时,每次单击直接链接时,我都必须做些什么来防止登录