Salesforce APEX获得用户用户许可

问题描述 投票:0回答:1

所以我试图获得当前用户的用户许可证,例如。系统管理员或用户等...我在这里浏览并使用其他方法,但这些似乎对我不起作用。我想知道我可以在哪里开始这个?

我得到的错误是:

比较参数必须是兼容类型:Schema.SObjectField,String

从使用以下代码:

public String getOpps() {
    if(Profile.UserLicense.Name === 'Community Customer') {
        oppCheck = true;
    } else {
        oppCheck = false;
    }


    ***loop*** {
            code here
        }
    } else {
       more code here
    }
    return 'nil';
 }
salesforce apex
1个回答
1
投票

这些是许可证类型,我通过here从API指南this post获得它们。

  • 标准:用户许可。此用户类型还包括Salesforce Platform和Salesforce Platform One用户许可证。标签是标准的。
  • PowerPartner:PRM用户的访问权限受限,因为他或她是合作伙伴,通常通过合作伙伴门户访问应用程序。标签是合作伙伴。
  • CSPLitePortal:访问受限的用户,因为他或她是组织的客户,并通过客户门户访问应用程序。标签是高容量门户。
  • CustomerSuccess:访问受限的用户,因为他或她是组织的客户,并通过客户门户访问应用程序。标签是客户门户网站用户。
  • PowerCustomerSuccess:访问受限的用户,因为他或她是组织的客户,并通过客户门户访问应用程序。标签是客户门户经理。具有此许可类型的用户可以在客户门户角色层次结构中查看和编辑他们直接拥有的数据或由其下方的用户拥有或共享的数据。
  • CsnOnly:对应用程序的访问仅限于Chatter的用户。此用户类型包括Chatter Free和Chatter版主用户。标签是Chatter Free。

此外,你可能有一些运气尝试:

Profile p = [Select Name from Profile where Id =: userinfo.getProfileid()];
String pname = p.name;

if(pname == 'Community Customer') {
    oppCheck = true;
} else {
    oppCheck = false;
}
© www.soinside.com 2019 - 2024. All rights reserved.