不使用CAS 登录页面登录

 通常情况下我们使用cas都是在客户端的web.xml中配置cas的过滤器,当有请求过来,会自动跳转cas的登陆页面,如果你不想使用登陆页面,而是想把cas作为一项服务,在url中带有用户名和密码到cas进行验证。

 解决方案。

在jetty-distribution-7.4.5.v20110725\webapps\cas-server\WEB-INF\view\jsp\default\ui\casLoginView.jsp页面添加代码

 

<%

String auto = request.getParameter("auto");

if (auto != null && auto.equals("true") ){

%><html>

    <head>

        <scriptlanguage="JavaScript">

            functiondoAutoLogin() {

               document.forms[0].submit();

            }

       </script>

    </head>

    <bodyοnlοad="doAutoLogin();">

        <formid="credentials" method="POST" action="<%=request.getContextPath() %>/login?service=<%=request.getParameter("service") %>">

            <inputtype="hidden" name="lt" value="${loginTicket}"/>

            <inputtype="hidden" name="execution"value="${flowExecutionKey}" />

            <input type="hidden"name="_eventId" value="submit" />

            <inputtype="hidden" name="username" value="<%=request.getParameter("username") %>" />

            <inputtype="hidden" name="password" value="<%=request.getParameter("password") %>" />

            <inputtype="submit" style="visibility: hidden;" />

        </form>

    </body>

</html>

<%

} else {

%>

《———页面源代码—————》

<%

}

%>

 

      然后在浏览器中输入http://localhost:8080/cas-server/login?service=http://www.baidu.com&auto=true&username=admin&password=admin访问就会直接进行登录,而不会跳转至登陆页面了,如果出错则会跳转至登陆页面进行错误提醒;验证成功后则会跳转至service=http://www.baidu.com页面。

 

参考资料

https://wiki.jasig.org/display/CAS/Using+CAS+without+the+Login+Screen

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: CAS(Central Authentication Service)是一种单点登录协议,它允许用户一次登录即可在多个应用程序中进行身份验证和授权。要使用CAS完成单点登录,您需要在服务器上安装CAS服务器,并将其配置为您的应用程序可以使用的身份验证源。在您的应用程序中,您需要使用CAS客户端库来与CAS服务器进行通信,以验证用户身份和授权访问。用户通过CAS登录后,应用程序将从CAS服务器获取身份验证令牌,以便在用户访问应用程序时进行身份验证。这样,用户就可以在不需要再次输入凭据的情况下访问多个应用程序了。 ### 回答2: CAS(Central Authentication Service)是一种基于标准协议的单点登录解决方案,用于在多个应用系统中实现一次登录多次访问的功能。以下是使用CAS完成单点登录的步骤: 1. 部署CAS服务器:首先,需要搭建CAS服务器。可以选择使用开源的CAS服务器实现,如Apereo CAS或Jasig CAS。将CAS服务器安装在Web容器中,如Tomcat。 2. 配置CAS服务器:在CAS服务器上配置相关参数,包括CAS服务端口、证书、认证方式等。还需配置相应的用户认证方式,如LDAP、数据库等,以便CAS从这些认证源中验证用户身份。 3. 配置应用系统:将需要实现单点登录的应用系统配置为CAS客户端。CAS客户端负责与CAS服务器进行通信并获取用户认证信息。在应用系统的配置文件中,设置CAS服务器的地址和端口,并指定CAS授权和认证回调URL。 4. 用户访问应用系统:当用户访问某个应用系统时,应用系统检测用户是否已登录。若未登录,则将用户重定向至CAS服务器进行认证。 5. CAS认证流程:用户在CAS服务器上输入用户名和密码进行认证。CAS服务器通过预先配置的认证方式,如LDAP或数据库,验证用户身份的合法性。若认证成功,则CAS服务器生成一个票据(ticket),并将用户重定向至应用系统的回调URL,并在URL中附带生成的票据。 6. 应用系统认证处理:应用系统接收到CAS服务器回调的URL,提取URL中的票据信息。应用系统通过与CAS服务器的通信,校验票据的有效性。若票据有效,则应用系统将用户标识为已认证,完成单点登录。 7. 单点退出:当用户在某个应用系统中执行退出操作时,应用系统将用户重定向至CAS服务器进行单点退出。CAS服务器会通知其他已登录的应用系统将用户标记为已退出,并且跳转到CAS服务器的退出页面。 通过CAS实现单点登录,用户只需登录一次,即可访问多个应用系统,提高了用户体验,减少了重复登录的繁琐。同时,也可以提高安全性和统一管理性,减少密码泄露的风险。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值