cas支持restful访问方式进行认真

    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

 

server 地址: http://www.jasig.org/cas/download client 地址: http://www.ja-sig.org/downloads/cas-clients/ 当前最新版本 cas-server-3.4.2 , cas-client-3.1.10 2. 安装 server l 解压 cas-server-3.4.2 ,将 cas-server-3.4.2\modules\cas-server-webapp-3.4.2.war 拷贝到 tomcat 的 webapps 下。 3. 配置 server 3.1. 添加 cas server 依赖的 jar n cas-server-3.4.2\modules\cas-server-support-jdbc-3.4.2.jarcas-server-integration-restlet-3.4.2.jar 拷贝到 D:\server\apache-tomcat-6.0.18\webapps\cas\WEB-INF\lib 目录下。 n 数据库驱动 jar 拷贝到 D:\server\apache-tomcat-6.0.18\webapps\cas\WEB-INF\lib 目录下。 n 到 apache 网站下载下面三个 cas server 依赖 jar 包拷贝到 D:\server\apache-tomcat-6.0.18\webapps\cas\WEB-INF\lib 目录下 Ø http://apache.freelamp.com/commons/collections/binaries/commons-collections-3.2.1-bin.zip Ø http://apache.etoak.com/commons/dbcp/binaries/commons-dbcp-1.4-bin.zip Ø http://apache.etoak.com/commons/pool/binaries/commons-pool-1.5.4-bin.zip n 下载 restlet 相关 http://www.restlet.org/downloads/ , 解压后将下面 jar 拷贝到 D:\server\apache-tomcat-6.0.18\webapps\cas\WEB-INF\lib: ( 它奶奶地这一步骤很折腾 ) com.noelios.restlet.ext.servlet_2.5.jar com.noelios.restlet.ext.spring_2.5.jar com.noelios.restlet.jar org.restlet.ext.spring_2.5.jar org.restlet.jar n 下载 CGlib http://sourceforge.net/projects/cglib/files/ 拷贝到 D:\server\apache-tomcat-6.0.18\webapps\cas\WEB-INF\lib 。 n 下载 ASM/OW2 http://forge.ow2.org/projects/asm/ 拷贝到 D:\server\apache-tomcat-6.0.18\webapps\cas\WEB-INF\lib 。 3.2. 添加数据源
CAS(Central Authentication Service)是一个用于实现单点登录(Single Sign-On)的开源项目。CAS服务器负责认证和授权用户信息,并将认证凭证(ticket)提供给客户端应用程序。客户端应用程序可以使用这些凭证进行登录以验证用户身份。 对于RESTful API的CAS注册源码,主要包括以下几个步骤: 1. 添加CAS客户端依赖:首先需要在项目的构建文件中添加CAS客户端依赖,如Maven的pom.xml文件或Gradle的build.gradle文件中配置相应的依赖项。 2. 配置CAS客户端:在应用程序的配置文件中,需要配置CAS客户端以与CAS服务器进行通信。配置项包括CAS服务器的URL、服务器登录和票据验证URL等。 3. 实现CAS认证过程:在应用程序中实现CAS认证过程,并将CAS服务器返回的认证凭证(ticket)传递给CAS客户端进行验证。这可以通过调用CAS客户端提供的API实现。 4. 处理CAS回调:当CAS服务器认证成功并返回认证凭证时,应用程序需要处理CAS回调。这可以通过编写回调函数,将凭证传递给相应的处理逻辑进行进一步的处理,如登录或授权操作。 5. 完成CAS注册流程:在以上步骤完成后,应用程序的CAS注册流程即可完成。此时,应用程序可以使用CAS服务器提供的认证凭证来验证用户身份,并实现单点登录功能。 以上是对CAS注册RESTful源码的简要解释,具体的源码实现可能会因应用和框架的不同而有所差异。在实际应用中,可以参考CAS官方文档和示例代码来进行开发。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值