外部用户冻结或锁定实施

时间:2015-04-11 08:44:30

标签: salesforce apex force.com

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

我尝试使用isPasswordlockout API字段,但我收到了错误,因为'字段不可重写'所以我尝试使用冻结选项但是因为当用户已经登录并且salesforce apex代码或触发器在该用户模式下运行时,我得到错误"不能自我冻结"不允许自我冻结。

我的要求是在执行某些操作时锁定或冻结该用户,并且根据我的自定义逻辑,用户应该被锁定或冻结。 此外,我无法使用site.login方法进行3次无效尝试。那么这个选择是否可以分开?

我尝试使用system.runas方法,但仅在测试方法的情况下才有效。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

我假设您尝试设置UserLogin。当您收到“CAN NOT SELF FREEZE”消息时,IsFrozen。

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

  1. 使用future或batch方法。这可能会遇到与您尝试冻结的用户的交易用户相同的问题。
  2. 将用户记录添加到将被计划/批处理作业冻结的队列。
  3. 使用API​​以另一个用户身份执行冻结。请参阅Freezing Users from Visualforce