cas 添加rest 支持
在服务端web.xml中有一段:
<!-- REST support if cas-server-support-rest is included 要添加这个jar包 --> <servlet-mapping> <servlet-name>cas</servlet-name> <url-pattern>/v1/*</url-pattern> </servlet-mapping>
需要在服务端引入jar:cas-server-support-rest
位置:cas/WEB-INF/pom.xml
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.38</version> </dependency> <dependency> <groupId>org.jasig.cas</groupId> <artifactId>cas-server-support-jdbc</artifactId> <version>4.2.1</version> </dependency> <!-- 上面是链接数据库需要的jar --> <dependency> <groupId>org.jasig.cas</groupId> <artifactId>cas-server-support-rest</artifactId> <version>4.2.1</version> </dependency>
相关测试地址:
全用post方式提交
1:获取TGT
https://serverIP/cas/v1/tickets
传入参数:
username(登录用户名)
password(密码)
service(回调地址)
如果访问正常,会获取到location:https://serviceIP/cas/v1/tickets/TGT-24-ktFJOKdPjnhLZVAcbjyUkQBa3plKfjK3NJUTAglcOsSjVg3HS3-cas01.example.org
2:获取ST
https://serviceIP/cas/v1/tickets/TGT-24-ktFJOKdPjnhLZVAcbjyUkQBa3plKfjK3NJUTAglcOsSjVg3HS3-cas01.example.org
参数:
service(和上面的service相同)
访问正常会返回ST-xxxx
3:获取登录的帐号
浏览器地址栏直接输入:
https://serviceIP/cas/serviceValidate?service=http://clientIP:8080&ticket=ST-122-QeYAKsxo1Jyy0SaqArJ7-cas01.example.org
页面返回xml文本,可以看到登录的帐号名。
注意:访问的时候ST必须每次都是新的,它只能被使用一次。