假设你已经按照 XXL-SSO
的文档设置好了服务端。服务端的配置可能类似于以下内容(位于 application.properties
):
# 服务端口
server.port=8080
# 数据库配置
spring.datasource.url=jdbc:mysql://localhost:3306/xxl_sso?Unicode=true&characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=123456
# 更多配置...
在你的客户端应用中(例如一个Spring Boot应用),你需要添加 XXL-SSO
客户端的依赖。如果是 Maven 项目,你的 pom.xml
可能包含以下依赖:
<dependency>
<groupId>com.xuxueli</groupId>
<artifactId>xxl-sso-client</artifactId>
</dependency>
接着,在客户端的配置文件中设置 XXL-SSO
服务端的地址:
xxl.sso.server=http://localhost:8080/
然后,你需要在客户端应用中配置SSO拦截器,以确保用户的请求都经过SSO认证。例如,在Spring Boot应用中,你可能会这样配置:
@Configuration
public class SSOConfig {
@Autowired
private XxlSsoClient xxlSsoClient;
@Bean
public XxlSsoClient xxlSsoClient() {
XxlSsoClient client = new XxlSsoClient();
client.setSsoServer("http://localhost:8080/");
return client;
}
@Bean
public FilterRegistrationBean<XxlSsoTokenLoginFilter> xxlSsoTokenLoginFilterRegistration() {
FilterRegistrationBean<XxlSsoTokenLoginFilter> registration = new FilterRegistrationBean<>();
registration.setFilter(new XxlSsoTokenLoginFilter());
registration.addUrlPatterns("/*");
registration.setOrder(1);
registration.setName("xxlSsoTokenLoginFilter");
registration.setInitParameters(Collections.singletonMap("ssoServer", "http://localhost:8080/"));
return registration;
}
}
你可以通过访问客户端应用的某个受保护资源来测试 SSO 功能。如果你没有登录,应该会被重定向到 SSO 服务端进行认证。登录后,再次访问相同的资源,你应该能够成功访问。
@RestController
public class TestController {
@RequestMapping("/protectedResource")
public String protectedResource() {
return "This is a protected resource.";
}
}
XXL-SSO
服务端兼容的客户端版本。XXL-SSO
。如果你使用的是其他类型的应用,你需要进行相应的调整。这个例子提供了一个基本的框架,但对于实际部署,可以参考最新的 XXL-SSO
文档,并根据自己的应用和环境进行调整。