通过环境变量设置将外部参数传递到qooxdoo应用系统内部
来源:互联网 发布:淘宝到家 编辑:程序博客网 时间:2024/06/01 13:04
在我使用qooxdoo设计应用系统时,通过需要设计制作系统的登录入口,如果直接使用qooxdoo来制作有两个缺点,一个是登录界面个性化设计不太好做,另一个就是登录时加载速度问题,所以我在使用qooxdoo系统时通常将登录界面单位做成一个html文件,然后通过ajax来进行用户名称及密码的验证工作,如果验证通过使用js将页面地址指向qooxdoo的入口文件。通过这种方式就需要将登录的用户名称、用户ID等系统传递到qooxdoo中。我使用的方法如下:
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>股份有限公司</title><style type="text/css">body {margin-left: 0px;margin-top: 0px;margin-right: 0px;margin-bottom: 0px;overflow:hidden;}.STYLE3 {color: #528311; font-size: 12px; }.STYLE4 {color: #42870a;font-size: 12px;}</style> <!--[if lte IE 10]><script type="text/javascript" src="script/json2.js"></script><![endif]--> <script type="text/javascript" src="script/ajax.js"></script><script type="text/javascript" language="javascript"> window.onload = function() {document.getElementById('LoginName').focus();}function AdminLogin() {if (document.getElementById('LoginName').value=="") { alert('用户登录名称不能为空'); document.getElementById('LoginName').focus(); }if (document.getElementById('LoginPWD').value=="") { alert('用户登录密码不能为空'); document.getElementById('LoginPWD').focus(); }var ajax = Ajax('json');ajax.post('./DataServices/common/VerifyLogin.php', {username:document.getElementById('LoginName').value,userpwd:document.getElementById('LoginPWD').value}, function(data) {var json=JSON.parse(data);if (json.status == 1) {switch (json.role) { //根据用户角色的不同登录到不同的qooxdoo系统中case "1": //管理员location.href='./Application.php';break;case "2": //普通用户location.href='./common.php';break;default:location.href='./index.php';break;}} else {alert(json.msg);} });}function ClearLoginInfo() {document.getElementById('LoginName').value="";document.getElementById('LoginPWD').value="";document.getElementById('LoginName').focus();}function PwdKeypress(e) {var keynum;if(window.event) { //IEkeynum = e.keyCode} else if(e.which) { // Netscape/Firefox/Operakeynum = e.which} if (keynum == 13) { AdminLogin(); }}</script></head><body><table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0"> <tr> <td bgcolor="#e5f6cf"> </td> </tr> <tr> <td height="608" background="./resource/link//login/login_03.gif"><table width="862" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td height="266" background="./resource/link//login/login_04.gif"> </td> </tr> <tr> <td height="95"><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="424" height="95" background="./resource/link//login/login_06.gif"> </td> <td width="183" background="./resource/link//login/login_07.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="21%" height="30"><div align="center"><span class="STYLE3">用户</span></div></td> <td width="79%" height="30"><input type="text" name="LoginName" id="LoginName" style="height:18px; width:130px; border:solid 1px #cadcb2; font-size:12px; color:#81b432;"></td> </tr> <tr> <td height="30"><div align="center"><span class="STYLE3">密码</span></div></td> <td height="30"><input type="password" name="LoginPWD" id="LoginPWD" style="height:18px; width:130px; border:solid 1px #cadcb2; font-size:12px; color:#81b432;" onkeypress="PwdKeypress(event)"></td> </tr> <tr> <td height="30"> </td> <td height="30"><img src="./resource/link//login/dl.gif" width="81" height="22" border="0" usemap="#Map"></td> </tr> </table></td> <td width="255" background="./resource/link//login/login_08.gif"> </td> </tr> </table></td> </tr> <tr> <td height="247" valign="top" background="./resource/link//login/login_09.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="22%" height="30"> </td> <td width="56%"> </td> <td width="22%"> </td> </tr> <tr> <td> </td> <td height="30"><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="44%" height="20"> </td> <td width="56%" class="STYLE4">版本 2014 V1.0 </td> </tr> </table></td> <td> </td> </tr> </table></td> </tr> </table></td> </tr> <tr> <td bgcolor="#a2d962"> </td> </tr></table><map name="Map"><area shape="rect" coords="3,3,36,19" href="javascript:void(0)" onClick="AdminLogin()"><area shape="rect" coords="40,3,78,18" href="javascript:void(0)" onClick="ClearLoginInfo()"></map></body></html>
后台登录信息处理如下:
<?phpsession_start();include "../options/db_settings.php";$UserName = $_POST['username'];$UserPWD = $_POST['userpwd'];$rs=$DBConn->Execute("select user_id,login_pwd,user_name,user_role,lk_department.dept_id,dept_name,dept_kind from lk_user_info,lk_department where lk_user_info.dept_id = lk_department.dept_id and login_name='" . $UserName . "'");if (!$rs->EOF) {if ($rs->fields['login_pwd'] == strtoupper(md5($UserPWD))) {if (($rs->fields['dept_kind'] == 1) || ($rs->fields['dept_kind'] == 2)) {$arr['status'] = 1;$arr['role']=$rs->fields['user_role'];$arr['msg'] = '';$_SESSION['Logined'] =true;$_SESSION['user_id'] =$rs->fields['user_id'];$_SESSION['user_name']=$rs->fields['user_name'];$_SESSION['user_role']=$rs->fields['user_role'];$_SESSION['dept_id'] =$rs->fields['dept_id'];$_SESSION['dept_name']=$rs->fields['dept_name'];} else {$arr['status'] = 0;$arr['role']=0;$arr['msg'] = '用户所在单位没有权限登录!';}} else {$arr['status'] = 0;$arr['role']=0;$arr['msg'] = '登录密码错误,请重新输入!';}} else {$arr['status'] = 0; $arr['role']=0;$arr['msg'] = '用户名称错误,请重新输入!';}echo json_encode($arr);?>
而application.php是qooxdoo的入口文件index.html进行修改得到的,具体内容如下:
<?phpsession_start();if (isset($_SESSION['Logined']) && ($_SESSION['Logined'] == true)) {?><!DOCTYPE html><html><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>林克(秦皇岛)供应链股份有限公司</title> <script type="text/javascript">window.onload = function() {document.getElementById('DivWaiting').style.visibility = 'hidden';}window.qx ={$$environment : { "UserID" : "<?php echo $_SESSION['user_id']; ?>","UserName": "<?php echo $_SESSION['user_name']; ?>","UserRole": "<?php echo $_SESSION['user_role']; ?>","DeptID" : "<?php echo $_SESSION['dept_id']; ?>","DeptName": "<?php echo $_SESSION['dept_name']; ?>"}} </script> <script type="text/javascript" src="script/mqttws31.js"></script> <script type="text/javascript" src="script/link.js"></script></head><body bgcolor="#e6ffce"><div id='DivWaiting' style='Z-INDEX: 12000; LEFT: 0px; WIDTH: 100%; POSITION: absolute; TOP: 0px; HEIGHT: 100%'><table width='100%' height='100%'><tr align='center' valign='middle'><td><img src="./resource/link/RLoading.gif"><br><b><font size="2" color="red">正在加载页面,请等待...</font></b></td></tr></table></div></body></html><?php } else {Header("Location: ./index.html");}?>
在这个文件中使用的php的session时行是否登录的判断,以及登录后使用 $$environment参数将用户用户的有关信息传给qooxdoo系统。在qooxdoo系统中得参数的代码如下:
this.setUserID(qx.core.Environment.get("UserID"));this.setUserName(qx.core.Environment.get("UserName"));this.setDeptID(qx.core.Environment.get("DeptID"));this.setDeptName(qx.core.Environment.get("DeptName"));this.setUserRole(parseInt(qx.core.Environment.get("UserRole")));
0 0
- 通过环境变量设置将外部参数传递到qooxdoo应用系统内部
- 通过环境变量传递参数给进程
- .net环境变量设置||'csc' 不是内部或外部命令
- 通过URL传递参数到JSF
- notification通过intent传递参数到activity
- 将参数传递到数据访问页
- 将 Lotus Sametime 社区连接到外部即时消息传递社区
- silverlight 2.0 外部参数传递到app中
- Servlet内部参数传递
- adb shell中设置android系统内部环境变量!
- 两个jsp页面间跳转时,传递参数,如何将接收的参数应用到js代码中。
- asp无惧上传类2.2上传文件的同时,通过 Request.QueryString将参数传递到保存页面中
- 安装JDK的环境变量设置javac不是内部命令或外部命令
- Windows7安装JDK的环境变量设置javac不是内部命令或外部命令
- Windows7安装JDK的环境变量设置javac不是内部命令或外部命令
- Windows7安装JDK的环境变量设置javac不是内部命令或外部命令
- 【JavaWeb-1】安装mysql勾选了环境变量设置仍提示“不是内部或外部命令”
- Windows7安装JDK的环境变量设置 javac不是内部命令或外部命令
- nyoj 882 K进制
- Android 平台 HTTP网速测试 案例 API 分析
- POJ1002(字符串+map大法+模拟)
- 如何学习黑客技术?初级黑客入门速成学习法
- 遍历系统盘符下的文件
- 通过环境变量设置将外部参数传递到qooxdoo应用系统内部
- 算法讲解—【1】—决策树&神经网络
- 正则表达式一些基本概念
- 一个用户账号最多登录n次,超过n次将第一次登录的用户推出(n=1 即单点登录)
- BootStrap入门教程 (三)
- Service与Android系统实现(1)-- 应用程序里的Service
- Android中如何获取应用版本号
- 数据结构-线性表之顺序存储结构
- BootStrap入门教程 (四)