org安全基本面

或者 g安全基本面

毫无疑问,您的ORG包含了重要数据,显然您不想与任何人分享。曾经想象如果你的重要信息泄露给第三方,那就发生了什么。他们可以通过存储在Salesforce Org中的机密信息进行游戏。在太晚才能提前采取预防措施总是更好的。所以’措施采取预防措施,使您的ORG安全,避免泄露任何重要信息。我们应该在我们最后确定的是:

  1. 用户访问
  2. 连接的应用程序
  3. 自定义代码
  4. 妥协账户

核心安全原则

我们应该设置一些安全原则,以确保您的组织的安全性。我们可以选择以下策略:

  • 防守深度: 拥有多层防御总是好的,因为使用任何一层都有可能失败。因此,如果我们有更多的图层,那么所有的层都同时失败的可能性不太可能。应该始终牢记这一原则。
  • 最重要的原则: 随着Word建议,每个实体都应该具有他们需要完成工作的最少的特权。它有助于限制损坏。

基本防御:

(i)用户和访问管理

总是需要确保需要访问ORG的用户只有访问权限。


以下是不同的访问管理层:

  • 组织访问:
    这涉及整个组织访问。我们应该确保每当一个人离开公司时,那么他就会被拨出。所有访问都应删除或带走他。要删除配置,可以冻结用户或停用它们,因此无法误用。
  • 简介:
    要删除混乱并出于安全用途,我们可以根据其配置文件授予对用户的访问权限。此外,我们可以根据配置文件给出每个对象的不同许可。字段级别安全性(FLS)控制字段的访问。创建配置文件的同时为它们分配特定的角色集。
    设置对象级别权限 one should go to
    快速查找搜索>> Profiles >> Select a Profile >>对象级别许可
    现在,您可以提供对要访问该特定配置文件的对象的读访问或写访问权限。

  • 共享默认值: 它是一个记录级别访问权限。
    • 公共对阵私人:  公众指的是,如果有人可以访问ORG中的所有对象。然后自动他可以访问该对象的所有记录。原则是保持私人,即;用户可以根据角色层次结构访问对象。
    • 内部与外部: 通过内部,我们的意思是将与ORG和外部直接登录的人是指通过公众面对社区,门户或外部喋喋不休的人员的人员。如果访问已公开,我们已通过任何门户登录,那么任何事故都有很高的机会。

(ii)健康检查:

如果用户可以访问他所需的对象,但密码非常弱吗?曾经想过?? ..是的,密码为提供安全性发挥着重要作用。我们可以保护这种情况,因为Salesforce提供了一种使您的ARG安全和安全的方法。执行健康检查:
快速搜索>> Health Check

健康检查提供以下信息:

密码长度
密码历史记录
最大无效的登录尝试
会话超时等…
健康检查以某种方式或其他方式有助于您了解Salesforce为您提供的建议。

(iii)双因素身份验证:

许多次密码被证明是非常弱的链接,这很容易被盗。他们充当一个失败的点。他们通常可以猜到。我们中的一些人有时会对所有帐户使用相同的密码有时会使用相同的帐户。

人们甚至可以使用Salesforce Authenticator来提供安全性。此应用程序可以快速安装。一旦用户登录,它们必须提供应用程序上显示的密码和一次性安全令牌。此验证器不仅限于Salesforce。
以下是设置2FA的步骤:

  1. 创建2FA权限集
  2. 分配给配置文件
  3. 在登录时,将邀请用户使用2FA

因此,2FA是完美的防御,并在向ORG提供安全性时证明很有用。

(iv)IP白名单:

采用是一种非常好的做法。这是下一个防御水平。当我们有方案等人没有提供2FA或安全令牌的设备时,它很有用。我们可以在组织中仔细选择我们的静态IP范围。我们可以为所有配置文件设置它,包括API用户和集成。到白名单IP,我们可以去
设置>> Network Access >> Put your static IP

通过这样做,每当您下次登录时,它都不需要任何安全令牌。

现在它’很多帮助你,让你的组织安全安全安全。在ingrossed并开始工作之前,请务必遵循最佳防御实践。总有一个间谍并只需要单一机会来获得所有信息。如果你留下任何漏洞,他就可以很容易。所以请不要向任何人提供单一机会并在发生致命事件之前采取预防措施。 是保护!….

Process Builder vs apex触发器–选择自动化工具

Process Builder vs apex触发器–选择自动化工具

流程建设者概述

Process Builder是您在构建时的图形表示。它包括

标准,即时预定的操作。

有以下事项可以通过Process Builder完成:

  • 创建记录:除了更新记录外,您还可以创建记录并在记录中设置字段值。
  • 创建Chatter Post:   将Chatter更新推入组或饲料。
  • 创建批准:传统上,您需要一个触发器自动将记录推入批准过程。使用Process Builder,您可以根据过程的标准自动执行此操作。
  • 快速整合工作流程:在一个过程中快速整合多个工作流规则。
  • 调用apex类:您现在可以调用apex类。

触发概述

触发器是代码,即代码 执行 在记录之前或之后 插入 或者 更新。

通常,A. apex(代码) 基于基于标准的评估,用于提出一系列事件。这些事件执行以下类型的操作

  • 插入
  • 更新
  • 删除
  • 合并
  • 颠覆
  • undelete.

在apex触发器中,您必须拥有

  • 需要编写知识。
  • 需要设计测试类以满足所需的测试覆盖范围。

但过程构建器的主要区别在于您无法删除任何记录,并且无法显示任何错误。对于这些,您必须编写触发器代码。例如:

顶点限制

  • 通过SOQL查询检索的记录总数50,000
  • DML 10,000检索的记录总数
  • 100(同步)发出的SOSL查询总数(SYNC)| 200(异步)
  • 发布的SOSL查询总数20
  • 由单个SOSL查询检索的记录总数2,000
  • 150发布的DML陈述总数
  • 触发100万的最大字符数

处理构建器限制

编辑: 用户无法在激活后编辑进程。因此,如同流程一样,需要通过克隆初始进程并对该克隆记录进行修改来创建新的进程。

验证: 进程不触发验证规则,因此可以使数据无效。

删除: 在失活后至少12小时不能删除非活动过程,并且不会出现在回收站中

错误信息: 创建不触发的进程时,您无法指定错误消息,这些进程随着流或验证规则而触发。

公式帮助: 在标准中使用公式时,语法中没有任何功能有助于预览

句法:  选择列表字段被评估为进程构建器中的文本字段,以便它们不支持任何选择列表公式 累积了 or ISNEW.

顶点触发最佳实践

  • APEX代码必须提供异常处理。
  • 查询大数据集使用SOQL循环
  • 不要在内部使用SOSL和SOQL循环。
  • 避免硬编码ID

流程建设者最佳实践

  • 查看 :要查看对象上是否有任何工作流,以与过程相同的事情。此外,验证无主动顶点触发。
  • 避免: 采访Apex,工作流程和处理相同的过程。
  • 文档: 使用“描述”字段填充信息,例如何时由谁以及进程创建的信息.Also,如果进程相互作用。
  • 测试: 然后测试更多。例如,当您首次开始使用此时,请先练习沙箱。

如果你做错了,那么在这里有很多影响用户和数据的能力。

现在这个问题是 为什么要处理构建器以及它与触发有何不同?

流程构建器完全自定义。这里没有必需的代码,因为我们需要冗长的逻辑和记录来完成并满足要求或者我们使用流程构建器,所以需要更少的时间来完成要求。

它在触发器上有一些好处:

场景 选项 原因
场景I.

填充记录更新的查找字段:

传统上需要一个触发器,可以使用流程构建器轻松完成。

问题是多层查找逻辑 - 即触发器中所需的相关数据的多个/嵌套地图。

          Process builder 扳机 传统上是需要触发的东西。进程构建器允许管理员可以在不使用代码的情况下执行此操作。
场景II

根据记录标准设置帐户所有者

流程建设者

扳机

进程构建器可用于根据对象的条件分配记录的所有权。
情景III

基于记录标准发布喋喋不休

流程建设者

扳机

Process Builder可用于基于记录标准发布到喋喋不休。
场景IV.

在机会时提交报价进行批准 阶段=提案

流程建设者 扳机 需要2个进程,以便根据机会阶段更新报价,另一个在满足报价标准时提交批准的报价。
场景V.

通过记录标准启动流程VS按钮或链接。

流程建设者

扳机

流程构建器可用于设置记录条件,然后启动触发器就绪流程。
场景VI.

克隆机会并更改现场值

流程建设者

扳机

虽然进程构建器可以创建一个新的记录,但它不能引用来自克隆机会的任何值,而不使用流量来捕获机会值。

让’S查看给定的Process Builder示例:

允许联系人在联系地址和帐户帐单地址中复制当前用户地址,只有在任何地址字段(街道,国家/地区,状态)是空/空的时。

步骤1:

在联系人对象上制作进程 - 构建器。为联系方式提供标准..AIMing街 (null = false) 同样,对于所有地址的联系人和机会。

第2步:

“立即行动” 向Contact.Owner.country提供邮件国家的参考并激活您的进程:

  第3步:

现在通过在ORG中留下任何地址字段空白来测试ORG中的此过程构建器。

第4步:

在留下联系地址后,这里是与联系人的所有者地址相同的地址。同样,您可以为您的联系人帐户进行测试。

这是使用流程构建器而不是使用顶点的原因。 但在某些情况下,您必须编写进程构建器不能的触发码。

例如:

创建一个复选框字段“与用户一样& COMPANY”。当联系人被插入Salesforce时出现错误,该国家与用户国家和公司国家相同。

以上例子 无法通过流程构建器完成,因为这不允许您在插入联系人时丢失错误。
创建  复选框字段名为“与用户一样& COMPANY“联系。

APEX类:
public class SameUserAndCompanyCountryContact {

public static void sameCountry(List<Contact> conList){

   User user = new User();

   user = [SELECT Id , Country , CompanyName from User where Id =:UserInfo.getUserId()];

   System.debug('>>>>>>>>>>RB<<<<<<<<<<<<'+user);

Organization orgDetails = [ SELECT Name , Country , Address from Organization where Name =: user.CompanyName];

System.debug('>>>>>>>>>>>RB<<<<<<<<<<<<'+orgDetails);

for(Contact con : conList) {

  if(con.MailingCountry == user.Country && con.MailingCountry == orgDetails.Country){

   con.addError('Country of Company and User is same as country of Contact trying to insert');

     con.Same_Country_As_User_And_Company__c = True;

         }

      }

   }

}
apex触发:
trigger ErrorOnSameCountry on Contact (before insert){
  List<Contact> conList = Trigger.new;
     if(conList!=null) {
       SameUserAndCompanyCountryContact.sameCountry(conList);

    }
}

虽然Process Builder在Apex触发器上使用或反之亦然,但也取决于各种其他因素,例如:

  • 代码的复杂性。
  • 程序逻辑。
  • 过程建设者中的快速迭代可能是具有挑战性的。
  • 单位测试考虑因素。
我们如何使用带有闪电组件的第三方JavaScript库?

我们如何使用带有闪电组件的第三方JavaScript库?

现在,大多数开发人员使用了第三方库,因为第三方图书馆提供了快速而轻松的工作,可以节省大量时间并帮助您在编写代码时避免某些线条和努力。

第三方库通常属于以下类别之一:

  1. DOM操纵库(EX。jQuery等)
  2. 专业实用程序库(EX。矩矩.js,numeral.js等)
  3. UI库(例如Bootstrap,JQuery UI等)
  4. 数据可视化库(例如D3,Chart.js,传单等)
  5. MVC框架(EX。反应,角度等)

如何在照明组件中使用第三方库 -

闪电框架提供了很多强大的功能。在照明组件中,您的图书馆的功能可能并不总是有效。
在闪电组件中,我们需要将这些库添加到静态资源,然后我们可以使用标记包含库 <ltng:require>
在静态资源下以zip格式上传所有内容。并使用它们<ltng:require> tag.

例子:-

&amp;lt;ltng:require styles="{!$Resource.YourCSSResource}" scripts="{!$Resource.YourJSResource}" afterScriptsLoaded="{!c.afterScriptsLoaded}"/&amp;gt;

垃圾渣滓属性用于在加载脚本后执行一些JavaScript方法。

使用脚本
包括将您上载作为静态资源的JavaScript库,使用a<ltng:require> tag in your .cmp. 或者 。应用程序 markup.
使用样式属性,您可以将.css资源包含在组件或应用程序中,并使用脚本属性您可以将JavaScript资源包含到组件或页面中。

以下是Aura组件的示例:

&amp;lt;aura:component&amp;gt;
&amp;lt;ltng:require styles="{!$Resource.YourCSSResource}" scripts="{!$Resource.YourJSResource}" afterScriptsLoaded="{!c.libLoaded}" /&amp;gt;
&amp;lt;div class='mynamespace'&amp;gt;
&amp;lt;div class="dropdown"&amp;gt;
&amp;lt;ul class="dropdown-menu" role="menu" aria-labelledby="mLabel"&amp;gt;
&amp;lt;li role="presentation"&amp;gt;&amp;lt;a role="menuitem" href=""&amp;gt;Action&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&amp;lt;li role="presentation"&amp;gt;&amp;lt;a role="menuitem" href=""&amp;gt;Another action&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;/aura:component&amp;gt;

类MyNamespace,下拉目,下拉菜单将被定义为库。这是如何使用JS函数的方法,该函数将始终在加载脚本后执行。

({
libLoaded: function(component, event, helper) {
alert('ready to go');
}
})

这是jQuery Shorable的示例。我们必须在页面中添加jQuery资源并使用函数来执行功能。

使用CSS框架

您可以为CSS使用Bootstrap类。添加引导资源后,需要在元素上添加类。

在闪电中包含引导脚的步骤:

  • 下载Salesforce.com优化的引导包。
  • 解压缩包装并转到设置> Build > Develop >静态资源,然后单击“新建”。
  • 指定引导程序作为名称,然后单击“选择文件”按钮,然后在“解压缩引导”文件夹的Dist / CSS目录中选择Bootstrap.css。

在静态资源中添加引导程序后,您可以将Bootstrap类与组件元素一起使用。
前任:

&amp;lt;div class="navbar-header"&amp;gt;
&amp;lt;a href="#" class="navbar-brand"&amp;gt;Accounts Details&amp;lt;/a&amp;gt;
&amp;lt;/div&amp;gt;

因此,这就是您可以使用闪电组件通过第三方库实现标准UI的方式。