spring boot 与单点登录CAS整合实现cas client
1. pom.xml 加入依赖
<dependency>
<groupId>net.unicon.cas</groupId>
<artifactId>cas-client-autoconfig-support</artifactId>
<version>2.1.0-GA</version>
</dependency>
2. application.properties
server.port=8082
spring.application.name=Euredaclientcas
cas.server-url-prefix=https://author.linbsoft.com
cas.server-login-url=https://author.linbsoft.com/cas/
cas.client-host-url=http://centos7:8082
cas.validation-type=CAS
cas.use-session=true
3. 启动类中加入@EnableCasClient 注解
@SpringBootApplication
@EnableCasClient
public class EuredaClientCasApplication extends SpringBootServletInitializer{
public static void main(String[] args) {
SpringApplication.run(EuredaClientCasApplication.class, args);
}
}
4. 获取cas登录账号
@RestController
public class UserController {
@RequestMapping("/user")
public Map<String, String> queryUser(HttpServletRequest request){
Map<String,String> map = new HashMap<>();
Assertion ass=AssertionHolder.getAssertion();
AttributePrincipal p=ass.getPrincipal();
String name=p.getName();
map.put("loginuser", name);
//map.put("session", request.getSession.getId());
return map;
}
}
其中需要使用 org.jasig.cas.client 包
5. 启动应用,输入应用网址,http://centos7.linbsoft.com:8082/user 自动跳转到cas登录页面,登录后,显示登录用户名