参考:https://wiki.jasig.org/display/CAS/Using+CAS+without+the+Login+Screen
https://wiki.jasig.org/display/CAS/Using+CAS+from+external+link+or+custom+external+form
服务端:
casLoginView.jsp
<jsp:directive.include file="includes/top.jsp" /> <% String auto = request.getParameter("auto"); if (auto != null && auto.equals("true")) { %> <html> <head> <script language="javascript"> function doAutoLogin() { document.forms[0].submit(); } </script> </head> <body onload="doAutoLogin();"> <form id="fm1" method="post" action="<%= request.getContextPath() %>/login?service=<%= request.getParameter("service") %>"> <input type="hidden" name="lt" value="${loginTicket}" /> <input type="hidden" name="execution" value="${flowExecutionKey}" /> <input type="hidden" name="_eventId" value="submit" /> <input type="hidden" name="username" value="<%= request.getParameter("username") %>" /> <input type="hidden" name="password" value="<%= request.getParameter("password") %>" /> <% if ("true".equals(request.getParameter("rememberMe"))) {%> <input type="hidden" name="rememberMe" value="true" /> <% } %> <input type="submit" value="Submit" style="visibility: hidden;" /> </form> </body> </html> <% } else { %> //................ //这里把casLoginView.jsp 原来的东西粘贴过来。不使用客户端登录页面时候,使用默认页面登录 <% } %> <jsp:directive.include file="includes/bottom.jsp" />
客户端:
<html> <head /> <body> <form method="POST" action="https://cas.example.com/cas/"> <p>Username : <input type="text" name="username" /></p> <p>Password : <input type="password" name="password" /></p> <p>Remember me : <input type="checkbox" name="rememberMe" value="true" /></p> <p><input type="submit" value="Login !" /></p> <input type="hidden" name="auto" value="true" /> <input type="hidden" name="service" value="http://app.example.com/myapp/" /> </form> </body> </html>
服务端地址: https://cas.example.com/cas/ 客户端地址: http://app.example.com/myapp/
相关推荐
1. **架构概述**:CAS的核心设计基于服务Ticket的概念,服务Ticket是一种临时的、一次性使用的凭证,用于在客户端和服务器之间传递身份验证信息。CAS服务器处理用户的登录请求,创建Ticket Granting Ticket(TGT),...
CAS提供了一种中央身份验证服务,使得多个应用系统能够共享用户的登录状态,从而实现用户只需登录一次即可访问多个应用系统的目标。CAS的核心组件包括CAS Server和CAS Client。 - **CAS Server**:负责处理用户登录...
- 当用户尝试访问没有权限的资源时,可以自定义一个页面来提示用户。 - **示例代码**: 在`spring-security.xml`中配置自定义拒绝访问页面。 **8. 动态管理资源结合自定义登录页面** - 结合前两节的知识点,实现...
- 演示如何设计并实现一个自定义的登录页面,满足特定的UI需求。 - **4.2 修改配置文件** - 说明如何调整Spring Security的配置文件以支持自定义的登录页面。 - **4.3 登录页面中的参数配置** - 讨论如何在自定义...
SiteMinder认证机制是一种与第三方安全解决方案集成的方式,适用于大型企业级应用。 ##### 9.2 配置 配置SiteMinder认证机制需要与SiteMinder服务器进行交互,设置相应的认证代理和会话管理参数。 #### 九、Run-...
- **存储过程与触发器:**讨论了存储过程和触发器的编写与使用方法。 **2.5 服务(XML/WCF)** - **WCF基础:**介绍了Windows Communication Foundation(WCF)作为服务通信框架的基本概念。 - **服务实现:**通过示例...
15.3.1 原子变量是一种“更好的volatile”266 15.3.2 性能比较:锁与原子变量267 15.4 非阻塞算法270 15.4.1 非阻塞的栈270 15.4.2 非阻塞的链表272 15.4.3 原子的域更新器274 15.4.4 ABA问题275 第16章 ...