cas 自定义跳转_CAS Server 4.0.0如何自定义Controller控制器

本文介绍了如何在CAS Server 4.0.0中自定义Controller控制器以实现更多功能,例如添加第三方登录服务。通过创建CasDemoController类,继承AbstractController,并修改cas-servlet.xml配置文件及web.xml文件,实现了自定义的跳转和响应。
摘要由CSDN通过智能技术生成

在实际开发过程中,CAS Server 4.0.0服务端提供了登录、认证等功能,但是我们希望加入更多的自定义功能,如自定义第三方登录服务等功能。

增加一个Controller类控制器以及修改部分配置来完成CAS Server 4.0.0自定义Controller扩展,废话就不多说了,开始具体实现方法。

首先打开CAS Server Web项目(cas-client-webapp),创建CasDemoController名称的类文件,将其放到cas-server-webapp/src/main/java/org/jasig/cas/controller目录下,CasDemoController.java具体代码如下:package org.jasig.cas.controller;

import java.util.HashMap;

import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;

import org.springframework.web.servlet.mvc.AbstractController;

import org.springframework.web.servlet.view.json.MappingJackson2JsonView;

public class CasDemoController extends AbstractController {

@Override

protected ModelAndView handleRequestInternal(HttpServletRequest request,

HttpServletResponse response) throws Exception {

ModelAndView model = new ModelAndView();

MappingJackson2JsonView jsonView = new MappingJackson2JsonView();

Map attributes = new HashMap();

attributes.put("name", "素文宅博客");

attributes.put("site", "https://blog.yoodb.com/");

jsonView.setAttributesMap(attributes);

model.setView(jsonView);

return model;

}

}

分析:

CasDemoController类继承AbstractController类并重写了handleRequestInternal()方法,使用MappingJackson2JsonView类来构造jsonView对象值,返回json字符串。

修改cas-servlet.xml配置文件

cas-servlet.xml配置文件所在cas-server-webapp/src/main/webapp/WEB-INF目录。声明自定义bean,增加CasDemoController类文件配置信息,具体如下:

class="org.jasig.cas.support.oauth.web.OAuth20WrapperController"

p:loginUrl="${server.prefix}/login" p:servicesManager-ref="servicesManager"

p:ticketRegistry-ref="ticketRegistry" p:timeout="7200" />

与此同时需要增加这个bean的映射路径,具体配置如下:

id="handlerMappingC"

class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"

p:alwaysUseFullPath="true">

oauth20WrapperController

samlValidateController

serviceValidateController

proxyValidateController

v3ServiceValidateController

v3ProxyValidateController

legacyValidateController

proxyController

passThroughController

healthCheckController

statisticsController

casDemoController

最后修改web.xml文件,该文件目录就没必要多说了,新增映射方法,具体配置如下:

cas

/test

注意事项:

/test中“test”名称必须和上面casDemoController映射方法保持一致,cas中“cas”名称必须和web.xml配置文件中servlet名称保持一致。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值