单点登录的定义

引自维基百科:

单点登录(英语: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. JavaScript操作和使用Cookie

    Cookie概述 Cookie是由服务器端生成并储存在浏览器客户端上的数据. 在javaweb开发中Cookie被当做java对象在web服务器端创建,并由web服务器发送给特定浏览器客户端,并且we ...

  2. iOS开发手记-仿QQ音乐播放器动态歌词的实现

    最近朋友想做个音乐App,让我帮忙参考下.其中歌词动态滚动的效果,正好我之前也没做过,顺便学习一下,先来个预览效果. 实现思路 歌词常见的就是lrc歌词了,我们这里也是通过解析lrc歌词文件来获取其播 ...

  3. hdu 6161--Big binary tree(思维--压缩空间)

    题目链接 Problem Description You are given a complete binary tree with n nodes. The root node is numbere ...

  4. .net core Jenkins持续集成Linux、Docker、K8S

    jenkins插件 系统管理 -> 管理插件,安装如下插件. #如果搜索不到去掉Plugin在搜索 GitLab Plugin Gitlab Hook Plugin #使用Gitlab账号做用户 ...

  5. Android_TextView使用Spanable

    TextView通常用来显示普通文本,但是有时候需要对其中某些文本进行样式.事件方面的设置.Android系统通过SpannableString类来对指定文本进行相关处理,具体有以下功能: 1.Bac ...

  6. 从零开始学 Web 之 Ajax(五)同步异步请求,数据格式

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

  7. 以ActiveMQ为例JAVA消息中间件学习【2】

    前言 之前我们学习了什么是消息中间件,以ActiveMQ为例做了一个最简单的消息中间件的实现.但是我们做的就只能算是个例子而已,因为在实际的项目中肯定会有spring插一脚,所以spring肯定有来管 ...

  8. 关系型数据库 VS NOSQL

    转载:https://mp.weixin.qq.com/s/FkoOMY8_vnqSPPTHc2PL1w 行式数据库(关系型数据库) 行式数据库有如下几个缺点: 大数据场景下 I/O 较高,因为数据是 ...

  9. 十大经典排序算法的 JavaScript 实现

    计算机领域的都多少掌握一点算法知识,其中排序算法是<数据结构与算法>中最基本的算法之一.排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大 ...

  10. mybatis教程6(逆向工程)

    什么是逆向工程 简单点说,就是通过数据库中的单表,自动生成java代码. Mybatis官方提供了逆向工程,可以针对单表自动生成mybatis代码(mapper.java\mapper.xml\po类 ...