org.jasig.cas.client
cas-client-support-springboot
3.6.2
一个标签解决@EnableCasClient
import org.jasig.cas.client.boot.configuration.EnableCasClient;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@EnableCasClient
@SpringBootApplication
public class Application {
public static void main(String[] args) throws Exception {
SpringApplication.run(Application.class, args);
}
}#cas集成单点
cas:
#cas服务端的地址
server-url-prefix : https://host:ip/sso
#cas服务端的登录地址
server-login-url : ${cas.server-url-prefix}/login
#当前服务器的地址(客户端)
client-host-url : http://localhost:${server.port}
#Ticket校验器使用Cas30ProxyReceivingTicketValidationFilter
validation-type : cas3
#cas不拦截的url 不同的路径只需要用 ()|()处理即可
cas-ignore-pattern : (/test/*)
#cas登出地址
cas-single-logout-url : ${cas.server-url-prefix}/logout?service=${cas.client-host-url}/loginimport javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import static org.jasig.cas.client.util.AbstractCasFilter.CONST_CAS_ASSERTION;
@Slf4j
@Controller
@Profile("cas")
@RequestMapping("sso/cas")
public class CasController {
@Value("${cas-single-logout-url:}")
public String casSingleLogoutUrl;
@RequestMapping("/index")
public String index(HttpSession session, Model model) {
Assertion assertion = (Assertion) session.getAttribute(CONST_CAS_ASSERTION);
AttributePrincipal principal = assertion.getPrincipal();
String loginName = principal.getName();
log.info("当前登录用户 -->> {} ",loginName);
model.addAttribute("loginName",loginName);
return "index";
}
/**
* 退出登录,跳转登出提示页
*/
@GetMapping("/logout")
public String logout(HttpServletRequest request) {
HttpSession session = request.getSession(false);
if (session != null) {
// 过期会话
session.invalidate();
}
return StringUtils.join("redirect:", casSingleLogoutUrl);
}
/**
* 退出登录 方式2
*/
@RequestMapping(value = "/logout2")
public void logout(HttpSession session, HttpServletResponse response){
session.invalidate();//清除session
try {
response.sendRedirect(casSingleLogoutUrl);
} catch (IOException e) {
log.error("登出系统失败");
}
}
} | 留言与评论(共有 0 条评论) “” |