单点登录实现Ajax登录
来源:互联网 发布:查看本机mac地址 编辑:程序博客网 时间:2024/06/04 19:49
<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title>Custom Login Page</title> <script type="text/javascript" src="js/lib/jquery.js"></script></head><body><div>Custom Login Page</div><div> username:<input id="username" name="username" value="nick"/> password:<input type="password" id="password" name="password" value=""/> <input type="button" id="login_btn" value="Login" name="Login"/> <div id="cas_error_msg" style="display: block;"></div> <div id="cas_error" style="display: none;"></div> <div id="cas_tgt" style="display: none;"></div> <div id="cas_st" style="display: none"></div></div><script type="text/javascript"> $(document).ready(function(){ //get redirect url after login var curURL = window.location.href; var curService = ""; if(curURL.indexOf('?') > 0){ curService = curURL.substring(curURL.indexOf('?') + 9); } //get Ticket Granting Ticket $("#login_btn").click(function(){ var username = $("#username").val(); var password = $("#password").val(); $.ajax({ url: "v1/tickets", dataType: "text", type: "POST", data: "username="+username+"&password="+password+"", contentType: "application/x-www-form-urlencoded", success:function(data){ $("#cas_tgt").html(data); $("form input:first").val(curService); $("form input:first").html(curService); var action = $("form").attr("action"); var service = $("form input:first").val(); var data = ""; if(service != ""){ data = "service="+service+""; } //get Service Ticket $.ajax({ url: action, dataType: "text", type: "POST", data: data, contentType: "application/x-www-form-urlencoded", success:function(data){ $("#cas_st").val(data); $("#cas_st").html(data); //redirect to original url var locationURL = $("form input:first").val() + "?ticket=" + $("#cas_st").val(); //console.log(locationURL); window.location = locationURL }, error: function(data){ console.log(data.responseText); } }); }, error: function(data){ console.log(data.responseText); $("#cas_error").val(data.responseText); $("#cas_error").html(data.responseText); if("error.authentication.credentials.bad" == $("h3").text()){ $("#cas_error_msg").html("您提供的凭证有误"); }else if("error.authentication.credentials.bad.locked" == $("h3").text()){ $("#cas_error_msg").html("尝试次数太多,帐号被暂停使用,请联系管理员"); }else if("error.authentication.credentials.bad.change.pwd" == $("h3").text()){ $("#cas_error_msg").html("请先修改初始密码,然后再登录"); }else if("error.authentication.credentials.bad.invalid" == $("h3").text()){ $("#cas_error_msg").html("帐户不存在,或者帐户被禁用"); }else if("error.authentication.credentials.bad.sms" == $("h3").text()){ $("#cas_error_msg").html("您提供的手机验证码有误"); }else if("error.authentication.credentials.bad.multi.login" == $("h3").text()){ $("#cas_error_msg").html("您尝试太频繁,请休息五分钟后重试"); }else if("error.authentication.credentials.bad.pwd.risk" == $("h3").text()){ $("#cas_error_msg").html("您的密码存在风险,请修改密码后再登陆"); }else if("error.authentication.credentials.unsupported" == $("h3").text()){ $("#cas_error_msg").html("CAS不支持您提供的凭证"); }else{ $("#cas_error_msg").html("您提供的凭证有误!"); } } }); }); });</script></body></html>
备注:
cas-server-3.5.2系统需要集成下面的jar包:
cas-server-integration-restlet-3.5.2.jar
com.noelios.restlet.ext.servlet-1.1.10.jar
com.noelios.restlet.ext.spring-1.1.10.jar
com.noelios.restlet-1.1.10.jar
org.restlet.ext.spring-1.1.10.jar
org.resetlet-1.0.jar
登录过程:
根据用户名、密码首先获取TGT(Ticket Granting Ticket);
然后根据返回的TGT获取ST(Service Ticket);
根据获取的ST登录需要访问的系统,系统url?ticket=ST。
0 0
- 单点登录实现Ajax登录
- php+ajax实现跨域单点登录
- 单点登录----->cas实现单点登录
- cas实现单点登录
- cas 实现单点登录
- c# 实现单点登录
- CAS 实现单点登录
- 单点登录实现思路
- 实现单点登录
- JForum单点登录实现
- cas实现单点登录
- NET实现单点登录
- .net实现单点登录
- 单点登录实现步骤
- JCIFS实现单点登录
- java实现单点登录
- CAS实现单点登录
- java实现单点登录
- 使用yum快速安装oracle11g依赖包
- 使用maven写项目时报java
- 2017.03.04【NOIP 普及组】模拟赛C组
- java中堆栈(stack)和堆(heap)(还在问静态变量放哪里,局部变量放哪里,静态区在哪里.....进来)
- 联网操作
- 单点登录实现Ajax登录
- 自己实现的一个python版本的多线程 ftp扫描器,python版本3.0以上
- Stream API
- codevs 4768 跳石头
- 玲珑杯1096 萌萌哒的第一题
- P1149 火柴棒等式
- 双子树问题
- 合肥市驾驶证,行驶证期满换证指南
- scp 命令