不使用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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值