`
小于Brick
  • 浏览: 89484 次
  • 性别: Icon_minigender_1
  • 来自: 新疆
社区版块
存档分类
最新评论

cas4.2 使用客户端自定义页面登录一种解决方法

阅读更多

参考: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/

 

 

 

分享到:
评论

相关推荐

    cas4.2源码

    1. **架构概述**:CAS的核心设计基于服务Ticket的概念,服务Ticket是一种临时的、一次性使用的凭证,用于在客户端和服务器之间传递身份验证信息。CAS服务器处理用户的登录请求,创建Ticket Granting Ticket(TGT),...

    windows下进行单点登录配置操作手册.docx

    CAS提供了一种中央身份验证服务,使得多个应用系统能够共享用户的登录状态,从而实现用户只需登录一次即可访问多个应用系统的目标。CAS的核心组件包括CAS Server和CAS Client。 - **CAS Server**:负责处理用户登录...

    Spring Security3技术手册

    - 当用户尝试访问没有权限的资源时,可以自定义一个页面来提示用户。 - **示例代码**: 在`spring-security.xml`中配置自定义拒绝访问页面。 **8. 动态管理资源结合自定义登录页面** - 结合前两节的知识点,实现...

    Spring Security 安全权限管理手册.pdf

    - 演示如何设计并实现一个自定义的登录页面,满足特定的UI需求。 - **4.2 修改配置文件** - 说明如何调整Spring Security的配置文件以支持自定义的登录页面。 - **4.3 登录页面中的参数配置** - 讨论如何在自定义...

    springsecurity.pdf

    SiteMinder认证机制是一种与第三方安全解决方案集成的方式,适用于大型企业级应用。 ##### 9.2 配置 配置SiteMinder认证机制需要与SiteMinder服务器进行交互,设置相应的认证代理和会话管理参数。 #### 九、Run-...

    VB 2010 高清PDF教程

    - **存储过程与触发器:**讨论了存储过程和触发器的编写与使用方法。 **2.5 服务(XML/WCF)** - **WCF基础:**介绍了Windows Communication Foundation(WCF)作为服务通信框架的基本概念。 - **服务实现:**通过示例...

    Java并发编程实战

    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章 ...

Global site tag (gtag.js) - Google Analytics