单点登录

单点登录面试题

做~自己de王妃 提交于 2019-11-27 03:40:24
单点登录CAS系统入门 什么是单点登录?(SSO Single Sign On) Session不共享 针对不同服务器,不同工程, 一次登录,到处运行 是一个单独的应用系统 来源: https://www.cnblogs.com/wjc-top/p/11342309.html

Django实现单点登录

风流意气都作罢 提交于 2019-11-27 02:24:52
单点登录操作步骤: 为了简化开发流程,使用了django 的用户管理机制。项目中需要实现sso单点登录,保障系统能够整合到原有旧平台中。 (1)在app中添加authbackend.py 。 yourapp/auth_backend.py from django.contrib.auth.backends import ModelBackend from django.contrib.auth.models import User class PasswordlessAuthBackend(ModelBackend): """ Log in to Django without providing a password. """ def authenticate(self, username=None): try: return User.objects.get(username=username) except User.DoesNotExist: return None def get_user(self, user_id): try: return User.objects.get(pk=user_id) except User.DoesNotExist: return None (2)设置setting.py AUTHENTICATION_BACKENDS = ( # ...

淘淘商城简介——淘淘商城(一)

痴心易碎 提交于 2019-11-26 15:10:43
电商简介 淘淘商城简介 功能模块 技术架构的对比 传统架构 分布式架构 技术选型 工程总览 数据库 服务层 交互 开发过程目录 部署 项目源码 电商简介 技术特点: 技术新 技术范围广 分布式 高并发、集群、负载均衡、高可用 海量数据 业务复杂 系统安全 电商模式: B2B:企业到企业,商家到商家。代表:阿里巴巴、慧聪网。 B2C:商家到客户。代表:京东、淘宝商城(B2B2C)。 C2C:客户到客户。淘宝集市。 O2O:线上到线下。 淘淘商城简介 一个B2C平台,类似淘宝、京东。 功能模块 功能模块: 后台管理系统:管理商品、订单、类目、商品规格属性、用户管理以及内容发布等功能。 前台系统:用户可以在前台系统中进行注册、登录、浏览商品、首页、下单等操作。 会员系统:用户可以在该系统中查询已下的订单、收藏的商品、我的优惠券、团购等信息。 订单系统:提供下单、查询订单、修改订单状态、定时处理订单。 搜索系统:提供商品的搜索功能。 单点登录系统:为多个系统之间提供用户登录凭证以及查询登录用户的信息。 技术架构的对比 传统架构 功能模块集中在一个工程里,部署在服务器或者集群上,集群的每台服务器包含相同的代码。 问题: 模块之间耦合度太高,其中一个升级其他都得升级。 开发困难,各个团队开发最后都要整合一起。 系统的扩展性差。 不能针对每个模块的需要,灵活的进行分布式部署。 分布式架构 分布式

基于SAML的单点登录介绍

為{幸葍}努か 提交于 2019-11-26 14:12:58
一、背景知识: SAML即安全断言标记语言,英文全称是Security Assertion Markup Language。它是一个基于XML的标准,用于在不同的安全域(security domain)之间交换认证和授权数据。在SAML标准定义了身份提供者(identity provider)和服务提供者(service provider),这两者构成了前面所说的不同的安全域。 SAML是OASIS组织安全服务技术委员会(Security Services Technical Committee)的产品。 SAML(Security Assertion Markup Language)是一个XML框架,也就是一组协议,可以用来传输安全声明。比如,两台远程机器之间要通讯,为了保证安全,我们可以采用加密等措施,也可以采用SAML来传输,传输的数据以XML形式,符合SAML规范,这样我们就可以不要求两台机器采用什么样的系统,只要求能理解SAML规范即可,显然比传统的方式更好。SAML 规范是一组Schema 定义。 可以这么说,在Web Service 领域,schema就是规范,在Java领域,API就是规范。 SAML 作用 SAML 主要包括三个方面: 1.认证申明。表明用户是否已经认证,通常用于单点登录。 2.属性申明。表明 某个Subject 的属性。 3.授权申明。表明

三种单点登录SSO的实现原理

坚强是说给别人听的谎言 提交于 2019-11-26 12:21:20
单点登录SSO(Single Sign On)说得简单点就是在一个多系统共存的环境下,用户在一处登录后,就不用在其他系统中登录,也就是用户的一次登录能得到其他所有系统的信任 。单点登录在大型网站里使用得非常频繁,例如像阿里巴巴这样的网站,在网站的背后是成百上千的子系统,用户一次操作或交易可能涉及到几十个子系统的协作,如果每个子系统都需要用户认证,不仅用户会疯掉,各子系统也会为这种重复认证授权的逻辑搞疯掉。实现单点登录说到底就是要解决如何产生和存储那个信任,再就是其他系统如何验证这个信任的有效性,因此要点也就以下两个: 存储信任 验证信任 如果一个系统做到了开头所讲的效果,也就算单点登录,单点登录有不同的实现方式,本文就罗列我开发中所遇见过的实现方式。 以Cookie作为凭证媒介 最简单的单点登录实现方式,是使用cookie作为媒介,存放用户凭证。 用户登录父应用之后,应用返回一个加密的cookie,当用户访问子应用的时候,携带上这个cookie,授权应用解密cookie并进行校验,校验通过则登录当前用户。 不难发现以上方式把信任存储在客户端的Cookie中,这种方式很容易令人质疑: Cookie不安全 不能跨域实现免登 对于第一个问题,通过加密Cookie可以保证安全性,当然这是在源代码不泄露的前提下。如果Cookie的加密算法泄露,攻击者通过伪造Cookie则可以伪造特定用户身份

单点登录一二点

独自空忆成欢 提交于 2019-11-26 06:52:47
刚开始做单点登录同事说用redis存session,不过感觉还是用cas 或 OAuth2 实现好一些. 之前看人家博客写的一个demo,感觉还不错,想用springboot重写一下,顺便熟悉下. https://segmentfault.com/a/1190000013467122 <OAuth2的模式 https://www.cnblogs.com/ywlaker/p/6113927.html#!comments <采用的demo https://github.com/deadzq/simple-sso1 <demo 来源: https://www.cnblogs.com/ukzq/p/11314590.html

java.security.cert.CertificateException: No subject alternative names present

半城伤御伤魂 提交于 2019-11-25 22:36:25
记一次单点登录https中证书无效的问题: 背景环境:单点登录(cas)使用tomcat私有证书,即https;被集成的系统使用http; 百度了一堆,大概原理就是说: 在开发设计中当我们在java中打开一个SSL连接(比如:java.net.URL.openConnection(“https://….”)), JSSE实现的SSL协议执行一些验证以确保这个请求的主机不是假的。 这包括用PKIX算法验证服务器的X.509证书和检查主机名称与证书中的subject是否一致。 如果SSL证书不可信或与目标主机不匹配,HTTPS和SSL加密连接就不能建立并且抛出SSLHandshakeException 或 IOException。 公司大佬也是说单点登录的包里面如果是https请求会有验证证书的算法,所以就只能去找到源码的请求处理方法,默认不验证证书或者直接让证书通过。最终锁定在了(使用的cas-client-core-3.2.2.jar)java-cas-client-cas-client-3.2.2\cas-client-core\src\main\java\org\jasig\cas\client\util\CommonUtils.java中,糅合了n多博客,在代码中加了如下代码 static TrustManager[] trustAllCerts = new