SSO除了支持表单的方式进行认证外还可以使用rest接口进行认证,参考:http://jasig.github.io/cas/4.0.x/protocol/REST-Protocol.html
操作步骤如下:
1、将cas-server-support-rest-4.1.3.jar放到cas server的lib中以支持rest认证
2、配置web.xml,以提供rest接口。
<servlet>
<servlet-name>restlet</servlet-name>
<servlet-class>org.restlet.ext.spring.RestletFrameworkServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>restlet</servlet-name>
<url-pattern>/v1/*</url-pattern>
</servlet-mapping>
3、使用post方式进行验证,一定要使用post,在windows下可以访问http://curl.haxx.se/download/curl-7.33.0-win64-ssl-sspi.zip下载windows下的curl工具,然后执行如下命令进行进行验证
a、获取TGT: curl.exe -d "username=casuser&password=Mellon" -i "http://localhost:8080/cas/v1/tickets"
返回结果:
HTTP/1.1 201 Created
Server: Apache-Coyote/1.1
Location: http://localhost:8080/cas/v1/tickets/TGT-1-ajXZWdzcLFzWyHxmsDyJCpaEwMIzpRGh0DpGnWOueSi5HtvGwv-cas01.example.org
Content-Type: text/html;charset=UTF-8
Content-Length: 376
Date: Mon, 04 Apr 2016 08:15:52 GMT
<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\"><html><head><title>201 Created</title></head><body><h1>TGT Created</h1><form action="http://localhost:8080/cas/v1/tickets/TGT-1-ajXZWdzcLFzWyHxmsDyJCpaEwMIzpRGh0DpGnWOueSi5HtvGwv-cas01.example.org" method="POST">Service:<input type="text" name="service" value=""><br><input type="submit" value="Submit"></form></body></html>
b、获取ST:curl.exe -d "service=http://localhost:8080/simple" -i "http://localhost:8080/cas/v1/tickets/TGT-1-ajXZWdzcLFzWyHxmsDyJCpaEwMIzpRGh0DpGnWOueSi5HtvGwv-cas01.example.org"
返回结果:
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Disposition: attachment;filename=f.txt
Content-Type: application/vnd.lotus-organizer;charset=UTF-8
Content-Length: 43
Date: Mon, 04 Apr 2016 08:20:33 GMT
ST-1-cQwwDeN2SQsl7X1tWWsa-cas01.example.org
c、登出:curl -I -X DELETE "http://localhost:8080/cas/v1/tickets/TGT-1-ajXZWdzcLFzWyHxmsDyJCpaEwMIzpRGh0DpGnWOueSi5HtvGwv-cas01.example.org"
返回结果:
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Disposition: attachment;filename=f.txt
Content-Type: application/vnd.lotus-organizer;charset=UTF-8
Content-Length: 74
Date: Mon, 04 Apr 2016 08:46:11 GMT
相关推荐
CAS restFul 接口调用 获取票据
n cas-server-3.4.2\modules\cas-server-support-jdbc-3.4.2.jar 、 cas-server-integration-restlet-3.4.2.jar 拷贝到 D:\server\apache-tomcat-6.0.18\webapps\cas\WEB-INF\lib 目录下。 n 数据库驱动 jar 拷贝...
使用Jersey框架实现RESTful访问方式的示例项目,属半成品,尚缺jar包,还有编译错误,请不要下载。
本来是想在GitHub找一个符合自己App的网络请求库,结果就是要么不支持缓存或者不支持RESTful API 请求, 又或者带缓存的又不支持过滤某一些参数字段(否则无法得到缓存),带着这样的需求之下就有了 “HJNetwork” 这...
由于老项目用的struts2,需要扩展支持restful访问接口,前提是不要破坏原系统struts的访问方式。网上查了好多方法,都很麻烦。最后使用了最简单也是最有效的方法,解决了大问题。在此提供给大家参考,希望对大家有...
使用HttpClient4.3版本,使用Springmvc的restful方式访问后台的服务
restful api访问k8s集群,增删改查信息。 需要预先创建访问权限的配置。 官网api文档 https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.9/ 下面罗列部分api curl -u admin:admin ...
对应博客中的spring3.0支持restful的demo源代码,由于容量原因我把lib下面的包给去掉了。如果有需要lib下面用的jar包的话就给我留言,留个email,我看到后就发过去。
一个Delphi实现的HttpServer,支持RESTful风格路由
使用C++实现 Https Server 支持 restful json,可以放在实际开发中使用
restful与js方式文件上传下载,restful方式访问,并且通过js方式下载文件
用于restful方式的支持库,方便易用,dll 支持4.0、3.5、net4-client、net35-client
restful连通path路径的访问application
并且支持RESTful API GET、POST、PUT、DELETE、PATCH的请求。同时使用YYCache做了强大的缓存策略。 拥有 AFNetwork 大部分常用功能,包括网络状态监听等,提供类方法和实例方法调用。 非常好的扩展性,开放出了...
restful连通path路径的访问
restful接口示例代码restful接口示例代码restful接口示例代码restful接口示例代码
基于springboot,cas,shiro,pac4j,实现cas rest接口获取ticket,不再跳转cas server登录页
delphi7使用IXMLHTTPRequest实现RESTful的访问及返回json数据的解析,推送消息段HMACSHA1加密编码
H3C CAS REST API接口,支持系统集成和二次开发
本资源是一个 Wowza 支持 RESTful web 服务的一个简单的 demo。关于如何让 wowza 能够支持 RESTful api 的步骤请参考博客《让你的 wowza 服务器提供 RESTful web 服务》,地址是:...