单点登录的定义

引自维基百科:

单点登录(英语:Single sign-on,缩写为 SSO),又译为单一签入,一种对于许多相互关连,但是又是各自独立的软件系统,提供访问控制的属性。当拥有这项属性时,当用户登录时,就可以获取所有系统的访问权限,不用对每个单一系统都逐一登录。这项功能通常是以轻型目录访问协议(LDAP)来实现,在服务器上会将用户信息存储到LDAP数据库中。相同的,单一注销(single sign-off)就是指,只需要单一的注销动作,就可以结束对于多个系统的访问权限。

使用单点登录的好处包括:

  • 降低访问第三方网站风险(用户密码不存储或外部管理)。
  • 从不同的用户名和密码的组合减少密码疲劳。
  • 减少花费的时间重新输入密码相同的身份。
  • 降低IT成本适当降低一些IT帮助台调用有关密码。
  • SSO集中的所有其他应用程序和系统,用于身份验证服务器的身份验证,并与技术相结合是为了确保用户不必主动输入凭据一次以上。

Salesforce中的单点登录方式

在Salesforce中有以下方法实现单点登录:

  • 使用“Security Assertion Markup Language (SAML)”在相关的网络系统中发送验证信息。

  • 使用代理验证单点登录将Salesforce与管理员选择的验证方法集成。可以与LDAP(轻量目录访问协议)服务器进行集成,或使用标记(而不是密码)进行身份验证。

  • 使用身份提供商。身份提供商是受信任的提供商,提供其他网站的验证信息用来登录Salesforce。

Salesforce中的单点登录工作原理

  1. 当用户尝试登录时,Salesforce会生成并发出一个SAML请求
  2. SAML请求会发送到身份提供商
  3. 身份提供商会验证该用户的身份,并发回一个SAML验证结果
  4. Salesforce接收此结果,并决定是否允许用户登录

SAML

SAML是Salesforce提供的类XML语言,可以用于从企业入口网站或身份提供商单点登录到Salesforce。通过SAML,不同的服务之间可以进行用户信息的转移,例如从 Salesforce 到 Microsoft 365。

身份提供商会执行大部分工作来设置单点登录:

  1. 建立一个SAML身份提供商,并得到连接到Salesforce的信息。单点登录的请求会由身份提供商向Salesforce发送,当Salesforce收到请求之后会根据系统中的配置进行验证,决定登录是否成功。
  2. 提供登录和登出页面的URL给身份提供商。
  3. 在Salesforce中配置SAML的单点登录。

为单点登录配置SAML设置

启用SAML单点登录配置的步骤如下:

  1. 在Salesforce中,从“设置”中,在快速查找方框中输入“单点登录设置”,选择“单点登录设置”链接,单击编辑。
  2. 选择“启用SAML”。
  3. 指定身份提供商使用的SAML版本。
  4. 保存。

在SAML单点登录设置中,可以用三种方式新建配置:

  • 新建:手动指定所有设置。
  • 从元数据文件中新建:从身份提供商的XML文件中导入SAML 2.0设置。此选项读取XML文件,并用其完成尽可能多的设置。
  • 从元数据URL中新建:从公用URL中导入SAML 2.0设置。此选项读取公用URL上的XML文件,并用其完成尽可能多的设置。URL必须事先添加到“远程站点设置”,以从Salesforce组织中进行访问。

证书和密钥管理

在“设置”界面中,搜索“证书和密钥管理”,点击“证书和密钥管理”链接,即可进入“证书和密钥管理”界面。

在此界面中,可以新建和管理证书,以通过外部网站对单点登录进行身份验证,或将此Salesforce组织用作身份提供商,或验证从此Salesforce组织到外部站点的请求。

启用即时用户配置

在新建或编辑SAML的设置中,可以选择是否启用“即时用户配置”(Just-in-Time Provisioning)。

在“用户配置类型”中,有两种选择:

  • 标准:可以自动配置用户
  • 带有Apex处理器的自定义SAML JIT:根据Apex类中的逻辑配置用户。然后要在“SAML JIT处理器”中选择一个现有的Apex类或自动创建一个新的Apex类,此类必须实现了“SamlJitHandler”接口

使用即时用户配置,可以在用户通过SAML配置第一次试图登录的时候立即创建普通和入口网站用户,而无需提前创建用户。即时用户配置配合使用SAML身份提供商以将正确的用户信息以SAML 2.0声明传递到Salesforce。

测试单点登录连接

在配置了SAML设置后,可以通过访问身份提供商的应用程序来测试它。

在“设置”界面中的“单点登录设置”界面,可以点击“SAML声明验证器”来验证SAML配置。

在“设置”界面中的“登录历史”界面,可以查看登录的历史。当单点登录出现问题时,可以通过这里来查找原因,也可以使用“SAML声明验证器”来验证SAML配置。

Salesforce中的单点登录简介的更多相关文章

  1. 使用 CAS 在 Tomcat 中实现单点登录 http://www.ibm.com/developerworks/cn/opensource/os-cn-cas/

    developerWorks 中国 技术主题 Open source 文档库 使用 CAS 在 Tomcat 中实现单点登录 单点登录(Single Sign On , 简称 SSO )是目前比较流行 ...

  2. 【IBM】使用 CAS 在 Tomcat 中实现单点登录

    来源: IBM Developer http://www.ibm.com/developerworks/cn/opensource/os-cn-cas/ 张 涛 (zzhangt@cn.ibm.com ...

  3. CAS 在 Tomcat 中实现单点登录

    单点登录(Single Sign On , 简称 SSO )是目前比较流行的服务于企业业务整合的解决方案之一, SSO 使得在多个应用系统 中,用户只需要登录一次就可以访问所有相互信任的应用系统.CA ...

  4. 【C#】ASP.NET网页中添加单点登录功能

    背景 首先,要说明的是,原先需求定义的是,同一个账号只能同时有一个人来登录,如果另外一个登录的话,前一个登陆者就自动被踢掉.本来原先要做成存储到服务器的数据库中,但是后来如果是非正常退出的话 下次就没 ...

  5. 使用 CAS 在 Tomcat 中实现单点登录

    单点登录(Single Sign On , 简称 SSO )是目前比较流行的服务于企业业务整合的解决方案之一, SSO 使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统.CAS ...

  6. 在Tomcat中配置单点登录

    单点登录:Single Sign-On .概述 一旦你设置了realm和验证的方法,你就需要进行实际的用户登录处理.一般说来,对用户而言登录系统是一件很麻烦的事情,你必须尽量减少用户登录验证的次数.作 ...

  7. shiro中接入单点登录功能

    最近新建的系统中使用了shiro,而shiro框架中包含登录认证和鉴权的功能,因为我们系统要统一接入公司内部的单点登录(isso)系统,所以通过isso的登录用户,需要在shiro中置为已认证,一下提 ...

  8. Java Web网站应用中的单点登录

    采用SSH架构加以说明:1.  建立一个登录管理类LoginManager2.  在LoginManager中定义一个集合,管理登录的用户.3.  在Spring中将LoginManager配置成单例 ...

  9. Yii中配置单点登录 即多个子站同步登录

    研究Yii的同步登录大概2个多月,几乎查遍了网上所有资料和案例,但都不是很理想,最后摸索出整理出来以下配置方案. 以下配置文件在config.php中,所有需要同步的站点都需要填写.网上一些站点给出的 ...

随机推荐

  1. JavaCV 学习(一):JavaCV 初体验

    最近工作中因为项目的原因边学边用,接触并使用JavaCV做了一些相关的产品,目前觉得,JavaCV在图形图像(人家本身就是一个视觉库)的功能真的挺强大,而且使用起来避免了复杂的平台处理.下面整理一下对 ...

  2. spark中RDD的transformation&action

    简介: 1,transformation是得到一个新的RDD,方式很多,比如从数据源生成一个新的RDD,从RDD生成一个新的RDD 2,action是得到一个值,或者一个结果(直接将RDDcache到 ...

  3. PHP画图的基本步骤GD库

    一:PHP新建一个图片步骤: :创建画布: $im=imagecreatetruecolor(300,80) 2:定义颜色: $black=imagecolorallocate($im, 0, 0, ...

  4. HttpWebRequst中https的验证处理问题

    最近在公司项目中使用了HttpWebRequst相关API,运行环境为.Net/Mono 2.0,是一款针对Unity平台的工具.开发过程中碰到了大家可能都碰到过的问题,Http还是Https? 为什 ...

  5. python常用函数和方法 - 备忘

    语法语句篇 除法运算(精确运算和截断运算) 在python2中,除法运算通常是截断除法.什么是截断除法: >>> 3/4 0 # 自动忽略小数项 要是想 得到正确结果 怎么办呢? m ...

  6. 从零开始学 Web 之 Ajax(四)接口文档,验证用户名唯一性案例

    大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...

  7. Linux压力测试软件Stress安装及使用

    一.安装 yum install -y epel-release yum install stress -y 二.参数说明 -? --help 显示帮助信息 --version 显示软件版本信息 -t ...

  8. leetcode — two-sum-ii-input-array-is-sorted

    import java.util.ArrayList; import java.util.List; /** * Source : https://oj.leetcode.com/problems/m ...

  9. ARM64 Linux kernel virtual address space

    墙外通道:http://thinkiii.blogspot.com/2014/02/arm64-linux-kernel-virtual-address-space.html Now let's ta ...

  10. [SPOJ22343] Norma

    Description 现在有一个长度为\(N(N\leq 500000)\)的序列,定义区间\([l,r]\)的价值为\([l,r]\)的最小值乘上\([l,r]\)的最大值乘上\([l,r]\)的 ...