Explorar o código

AD登录验证

xiacm %!s(int64=2) %!d(string=hai) anos
pai
achega
d38700b321
Modificáronse 3 ficheiros con 97 adicións e 29 borrados
  1. 1 1
      wwwroot/mes/index.html
  2. 66 13
      wwwroot/mes/login.ashx
  3. 30 15
      wwwroot/mes/login.html

+ 1 - 1
wwwroot/mes/index.html

@@ -16,7 +16,7 @@
                 title: '东科软件 DONGKE IBOSS-MES',
                 iconCls: 'icon-logo',
                 width: 400,
-                height: 300,
+                height: 330,
                 url: 'login.html'
             });
         });

+ 66 - 13
wwwroot/mes/login.ashx

@@ -8,30 +8,83 @@ using System.Collections.Generic;
 using System.Data;
 using Curtain.DataAccess;
 using DK.XuWei.WebMes;
+using System.IO;
+using System.Net;
+using System.Text;
+
+
 
 public class login : IHttpHandler, IRequiresSessionState
 {
     public void ProcessRequest(HttpContext context)
     {
         context.Response.ContentType = "text/plain";
-        string accountCode = (context.Request["accountCode"] is object) ? context.Request["accountCode"].ToString() : "";
-        string userCode = (context.Request["userCode"] is object) ? context.Request["userCode"].ToString().ToUpper() : "";
-        string userPassword = (context.Request["userPassword"] is object) ? context.Request["userPassword"].ToString() : "";
-        string sessionKey = (context.Request["sessionKey"] is object) ? context.Request["sessionKey"].ToString() : "";
-        bool productCheck = (context.Request["productCheck"] is object) ? Convert.ToBoolean(context.Request["productCheck"].ToString()) : false;
+        if (context.Request["m"].ToString() == "0")
+        {
+            string accountCode = (context.Request["accountCode"] is object) ? context.Request["accountCode"].ToString() : "";
+            string userCode = (context.Request["userCode"] is object) ? context.Request["userCode"].ToString().ToUpper() : "";
+            string userPassword = (context.Request["userPassword"] is object) ? context.Request["userPassword"].ToString() : "";
+            string sessionKey = (context.Request["sessionKey"] is object) ? context.Request["sessionKey"].ToString() : "";
+            bool productCheck = (context.Request["productCheck"] is object) ? Convert.ToBoolean(context.Request["productCheck"].ToString()) : false;
 
-        //如果密码未加密,做MD5加密处理
-        if (userPassword.Length != 32) userPassword = FormsAuthentication.HashPasswordForStoringInConfigFile(userPassword, "MD5");
+            //如果密码未加密,做MD5加密处理
+            if (userPassword.Length != 32) userPassword = FormsAuthentication.HashPasswordForStoringInConfigFile(userPassword, "MD5");
 
-        string result = mes.LoginByPara(accountCode, userCode, userPassword, productCheck).ToJson();
-        if(context.Request["go"] is object)
-        {
-            context.Response.Redirect("/mes/main.html");
+            string result = mes.LoginByPara(accountCode, userCode, userPassword, productCheck).ToJson();
+            if (context.Request["go"] is object)
+            {
+                context.Response.Redirect("/mes/main.html");
+            }
+            else
+            {
+                context.Response.Write(result);
+            }
         }
-        else
+        //AD域名校验
+        if (context.Request["m"].ToString() == "1")
         {
-            context.Response.Write(result);
+            //获取ad验证
+            string url = "http://127.0.0.1:60123/hgws/get_ad_code";
+            //定义一个result用来存放接收到的json数据
+            string result = "";
+            //请求url
+            HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
+            //请求方法为Get
+            req.Method = "Get";
+            try
+            {
+                HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
+                Stream stream = resp.GetResponseStream();
+                //获取内容
+                using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
+                {
+                    result = reader.ReadToEnd();
+                }
+            }
+            catch (Exception ex)
+            {
+                JsonResult rs = new JsonResult();
+                rs.success = false;
+                rs.status = 0;
+                rs.message = "验证失败";
+                context.Response.Write(rs.ToJson());
+                return;
+            }
+            JsonResult jr = dkmes.LoginByAD1(result);
+            if (jr.success)
+            {
+
+                context.Response.Write(jr.ToJson());
+                //context.Response.Redirect("/mes/main.html");
+            }
+            else
+            {
+                context.Response.Write(jr.ToJson());
+            }
+
+
         }
+
     }
 
     public bool IsReusable

+ 30 - 15
wwwroot/mes/login.html

@@ -14,20 +14,23 @@
         <input class="easyui-filebox" id="图片" name="图片" data-options="prompt:'',tipPosition:'top',buttonText:'选择图片',buttonAlign:'right',accept:'image/*',onChange:$.imagePreview" style="width:100%;height:32px;" >
     -->
     <!--<div data-options="region:'center',plain:true,border:false">-->
-        <form id="ff" method="post" class="w-form" style="text-align:center;color:#fff;">
-            <div class="w-div" style="padding-top:30px;">
-                <div>账套:<input class="easyui-textbox w-input" value="dongke" id="accountCode" name="accountCode" data-options="required:true,prompt:'',tipPosition:'top'" style="width:250px;height:32px;"></div>
-            </div>
-            <div class="w-div" style="padding-top:8px;">
-                <div>工号:<input class="easyui-textbox w-input" id="userCode" name="userCode" data-options="required:true,true:'请填写工号...',tipPosition:'top'" style="width:250px;height:32px;"></div>
-            </div>
-            <div class="w-div" style="padding-top:8px;">
-                <div>密码:<input class="easyui-passwordbox w-input" id="userPassword" name="userPassword" data-options="required:true,true:'请填写密码...',tipPosition:'top'" style="width:250px;height:32px;"></div>
-            </div>
-            <div class="w-div" style="padding-top:8px;">
-                <a href="javascript:void(0)" id="tbSave" class="easyui-linkbutton" onclick="submitForm()" style="margin-left:48px; width:250px;height:32px;">登录</a>
-            </div>
-        </form>
+    <form id="ff" method="post" class="w-form" style="text-align:center;color:#fff;">
+        <div class="w-div" style="padding-top:30px;">
+            <div>账套:<input class="easyui-textbox w-input" value="dongke" id="accountCode" name="accountCode" data-options="required:true,prompt:'',tipPosition:'top'" style="width:250px;height:32px;"></div>
+        </div>
+        <div class="w-div" style="padding-top:8px;">
+            <div>工号:<input class="easyui-textbox w-input" id="userCode" name="userCode" data-options="required:true,true:'请填写工号...',tipPosition:'top'" style="width:250px;height:32px;"></div>
+        </div>
+        <div class="w-div" style="padding-top:8px;">
+            <div>密码:<input class="easyui-passwordbox w-input" id="userPassword" name="userPassword" data-options="required:true,true:'请填写密码...',tipPosition:'top'" style="width:250px;height:32px;"></div>
+        </div>
+        <div class="w-div" style="padding-top:8px;">
+            <a href="javascript:void(0)" id="tbSave" class="easyui-linkbutton" onclick="submitForm()" style="margin-left:48px; width:250px;height:32px;">登录</a>
+        </div>
+        <div class="w-div" style="padding-top:8px;">
+            <a href="javascript:void(0)" id="tbADSave" class="easyui-linkbutton" onclick="ADsubmitForm()" style="margin-left:48px; width:250px;height:32px;">AD域验证</a>
+        </div>
+    </form>
     <!--</div>-->
 
     <script type="text/javascript">
@@ -45,7 +48,7 @@
 
         function submitForm() {
             if ($('#ff').form("validate")) {
-                $.get('login.ashx?r=' + Math.random(),$('#ff').serialize(), function (data) {
+                $.get('login.ashx?m=0&r=' + Math.random(),$('#ff').serialize(), function (data) {
                     var json = JSON.parse(data);
                     if (json['success'] == true) {
                         parent.window.location.href = 'main.html';
@@ -57,6 +60,18 @@
             }
         }
 
+        function ADsubmitForm() {
+            $.get('login.ashx?m=1&r=' + Math.random(), $('#ff').serialize(), function (data) {
+                var json = JSON.parse(data);
+                if (json['success'] == true) {
+                    parent.window.location.href = 'main.html';
+                }
+                else {
+                    $.messager.alert('用户登录', json['message'], 'warning');
+                }
+            });
+        }
+
         function keyLogin() {
             if (event.keyCode == 13) submitForm();
         }