【问题标题】:Changing customer portal user profiles in Salesforce using Apex使用 Apex 在 Salesforce 中更改客户入口网站用户配置文件
【发布时间】:2011-11-09 23:33:38
【问题描述】:

我有一个门户用户和两个分配给该门户的个人资料。 我想在满足某些条件时运行触发器来更改配置文件。

这可能吗?

【问题讨论】:

    标签: salesforce apex-code


    【解决方案1】:

    是的。虽然 DML is forbidden 在 Profile 对象本身上,但您可以更改用户的个人资料(来自 Apex 开发人员指南):

    Profile p = [SELECT Id FROM Profile WHERE Name='Standard User'];
    User u = new User(Alias = 'standt', Email='standarduser@testorg.com',
       EmailEncodingKey='UTF-8', LastName='Testing', LanguageLocaleKey='en_US',
       LocaleSidKey='en_US', ProfileId = p.Id, // <--- 
       TimeZoneSidKey='America/Los_Angeles', UserName='standarduser@testorg.com');
    
    System.runAs(u) 
    {
        // The following code runs as user 'u'
        System.debug('Current User: ' + UserInfo.getUserName());
        System.debug('Current Profile: ' + UserInfo.getProfileId()); 
    }
    

    【讨论】:

      【解决方案2】:

      System.runAs(u) 只用在测试类中,对于 Apex 类你不能写上面的代码

      【讨论】:

        猜你喜欢
        • 2021-04-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-22
        • 1970-01-01
        相关资源
        最近更新 更多