单点登录的定义

引自维基百科:

单点登录(英语: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. 使用广播-BroadcastReceiver最详细解析

    女孩:BroadcastReceiver是什么呀? 男孩:Broadcast是广播的意思,在Android中应用程序之间的传输信息的机制,BroadcastReceiver是接收广播通知的组件,广播和 ...

  2. Swift5 语言指南(十) 枚举

    一个枚举定义了一个通用型的一组相关的值,使你在你的代码中的一个类型安全的方式这些值来工作. 如果您熟悉C,您将知道C枚举将相关名称分配给一组整数值.Swift中的枚举更灵活,并且不必为枚举的每个案例提 ...

  3. Dispatch Queue 之 dispatch_async

     可以看到,在queue里的任务,不仅仅是一个函数,也可以是一个其他的queue. 下面是一个例子.  全局队列的处理 一般一个全局队列有多个线程,这些个线程会遍历并处理链表里的任务. 对于全局队 ...

  4. javascript编程中this解析

    一.为什么要使用this? this 提供了一种更优雅的方式来隐式"传递"一个对象引用,因此可以将 API 设计得更加简洁并且易于复用.随着你的使用模式越来越复杂,显式传递上下文对 ...

  5. 构建Docker Compose服务堆栈

    1.安装了docker-compose,现在我们要使用docker-compose来运行容器栈.这个地方会有两个容器,一个容器中使用Flask搭建的简单应用,另一个容器是Redis,Flash会向re ...

  6. JAVA 注解的基本原理

    以前,『XML』是各大框架的青睐者,它以松耦合的方式完成了框架中几乎所有的配置,但是随着项目越来越庞大,『XML』的内容也越来越复杂,维护成本变高. 于是就有人提出来一种标记式高耦合的配置方式,『注解 ...

  7. vue中关于dom的操作

    mounted 个人理解为DOM结构准备就绪了,可以开始加载vue数据了, 挂载点,配合使用 mounted:function(){ this.$nextTick(function(){ //this ...

  8. JavaWeb学习 (十)————Cookie

    一.会话的概念 会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话. 有状态会话:一个同学来过教室,下次再来教室,我们会知道这个同学曾 ...

  9. KM算法及其应用

    在二分图匹配中有最大匹配问题,使用匈牙利算法或者网络流相关算法解决,如果给每条边增加一个权值,求权值和最大的匹配方案就叫做最大权匹配问题.其实之前所说的最大匹配就是权值为1的最大权匹配. 求最大权完备 ...

  10. numpy使用指南

    numpy.array numpy.array是numpy中用于处理n阶数组的对象,是其类族中的重要基类. numpy.array可以表示任意维的数组,可以使用构造函数初始化: arr = numpy ...