Salesforce 外部用户冻结或锁定实施

Salesforce 外部用户冻结或锁定实施,salesforce,apex,force.com,Salesforce,Apex,Force.com,我必须根据自定义逻辑冻结或锁定外部用户。一旦自定义逻辑条件设置为true,我需要冻结或锁定该用户,以便在管理员解冻或解锁该外部用户之前,该用户将无法登录 我尝试使用isPasswordlockout API字段,但由于“字段不可重写”而出现错误,因此我尝试使用冻结选项,但由于当用户已登录且salesforce apex代码或触发器在该用户模式下运行时,我得到错误“无法自冻结”不允许自冻结 我的要求是在用户执行某些操作时锁定或冻结该用户,并且根据我的自定义逻辑,应该锁定或冻结该用户。 此外,我无法

我必须根据自定义逻辑冻结或锁定外部用户。一旦自定义逻辑条件设置为true,我需要冻结或锁定该用户,以便在管理员解冻或解锁该外部用户之前,该用户将无法登录

我尝试使用isPasswordlockout API字段,但由于“字段不可重写”而出现错误,因此我尝试使用冻结选项,但由于当用户已登录且salesforce apex代码或触发器在该用户模式下运行时,我得到错误“无法自冻结”不允许自冻结

我的要求是在用户执行某些操作时锁定或冻结该用户,并且根据我的自定义逻辑,应该锁定或冻结该用户。 此外,我无法使用site.login方法进行3次无效尝试。那么这个选项就不存在了,什么都有可能

我尝试了system.runas方法,但这只适用于测试方法


有什么建议吗???

我想你已经试过设置了。当你收到“不能自我冻结”的消息时,它被冻结了

您可以尝试找到切换事务用户的方法。一些选择:

  • 使用未来或批处理方法。如果事务用户是您试图冻结的用户,则可能会遇到相同的问题
  • 将用户记录添加到将由计划/批处理作业冻结的队列中
  • 使用API作为其他用户执行冻结。看

  • 要切换到不同的事务用户,我需要通过不同的用户运行代码,这是我无法做到的,因为runas方法只能在测试类中工作。第二,我尝试使用未来的方法,但同样的问题我没有遇到运气。。其次,我不能使用调度作业,因为根据我的自定义逻辑,用户需要立即停用或锁定。由于计划作业将在特定时间运行,因此不符合我的要求。通过ajax工具包,当我的页面执行时,我想我会遇到与事务用户相同的问题。这很难看,但是您可以安全地为另一个用户存储刷新令牌或用户名/密码。使用这些存储的凭据,您可以调用API来执行锁定操作。