"JEECG BPM 单点登录说明文档主要介绍了如何在JEECG智能开发平台上集成Kisso单点登录服务。Kisso基于加密会话cookie机制实现SSO,提供安全且易于分布式部署的解决方案。文档包含了集成所需Maven依赖和项目配置文件的设置说明。"
在JEECG智能开发平台中,为了实现单点登录(Single Sign-On, SSO)功能,已经选择了Kisso作为集成方案。Kisso是一个基于加密会话cookie的SSO服务,它有“无状态”和“分散验证”的特点,确保了用户在多个应用系统间切换时只需要一次登录验证。Kisso的核心是将session存储在服务器端,而cookie存储在客户端,这样可以应对不同场景的安全需求和性能优化。
Kisso支持两种类型的cookie:持久型和会话型。持久型cookie具有设定的有效期,过期后会自动删除,存储在用户的硬盘上;而会话型cookie则存储在浏览器的内存中,当浏览器关闭时即失效。在安全性方面,虽然默认情况下session可能更为安全,但如果对cookie进行充分的安全保护,其安全性也可与session相当。此外,cookie在处理分布式服务部署、单点登录跨域访问等问题时,相比session更加便捷,因为session的复制和管理在分布式环境中的实现较为复杂。
为了在JEECG项目中集成Kisso,首先需要在Maven的pom.xml文件中添加必要的依赖。以下是示例代码:
```xml
<!--kissobegin-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>kisso</artifactId>
<version>3.6.11</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.15</version>
</dependency>
<!--kissoend-->
```
接下来,需要配置项目的Spring环境。在Spring配置文件中,需要声明一个名为"kissoInit"的bean,用于初始化Kisso服务。配置可能如下:
```xml
<!--单点登录kisso注入初始化,也支持使用web.xml初始化-->
<bean id="kissoInit" class="com.baomidou.kisso.web.WebKissoConfigurer" init-method="initKisso">
<property name="ssoPropPath" value="路径/to/your/kisso.properties" />
<!-- 其他配置项根据实际需求添加 -->
</bean>
```
这里,`ssoPropPath`属性指向Kisso的配置文件路径,该文件通常包含如秘钥、超时时间等关键参数。
通过以上步骤,JEECG平台就能成功集成Kisso单点登录服务,为用户提供统一的登录体验,并简化了多应用系统的身份验证管理。用户可以在任何支持Kisso的子系统中登录一次,之后便能在其他关联系统中自动登录,无需重复输入用户名和密码,大大提升了用户体验和系统间的协作效率。同时,Kisso的分布式支持使得这种便利性可以在大型、复杂的IT环境中得以实现。