public IActionResult apiLogin([FromBody] JObject value)
        {
            Dictionary <string, object> d = value.ToObject <Dictionary <string, object> >();
            string userCode    = d["userCode"] == null ? "" : d["userCode"].ToString();
            string password    = d["password"] == null ? "" : Security.SecurityHelper.StringToMD5Hash(d["password"].ToString());
            string userId      = "";
            string userName    = "******";
            string accessToken = "";

            try
            {
                if (string.IsNullOrEmpty(userCode) || string.IsNullOrEmpty(password))
                {
                    //return Json(new { code = -1, message = "推送接口用户名或密码不能为空!" });
                    return(Content(""));
                }
                UserLoginModule um = new UserLoginModule();
                DataTable       dt = um.getUserInfoByName(userCode);
                if (dt == null || dt.Rows.Count == 0)
                {
                    //return Json(new { code = -1, message = "云同步用户不存在!" });
                    return(Content(""));
                }
                if (password != dt.Rows[0]["USER_PASS"].ToString())
                {
                    //return Json(new { code = -1, message = "云同步用户密码错误!" });
                    return(Content(""));
                }
                userId      = dt.Rows[0]["USER_ID"].ToString();
                userName    = dt.Rows[0]["USER_NAME"].ToString();
                accessToken = AccessTokenTool.GetAccessToken(userId);
                STORE.UTILITY.AccessTokenTool.DeleteToken(userId);
                STORE.UTILITY.AccessTokenTool.InsertToken(userId, accessToken, DateTime.Now.AddHours(1));
                log.Info(DateTime.Now, userId, userName, Extension.GetClientUserIp(Request.HttpContext), 2, "云组织数据同步", "", 1);
                return(Content(accessToken));
            }
            catch (Exception ex)
            {
                log.Info(DateTime.Now, userId, userName, Extension.GetClientUserIp(Request.HttpContext), 1, "云组织数据同步", ex.Message.Length > 120 ? ex.Message.Substring(0, 100) : ex.Message, 1);
                return(Content(""));
            }
        }
        public IActionResult loginByUsernames([FromBody] JObject value)
        {
            string userId   = "";
            string userName = "";

            try
            {
                Dictionary <string, object> d = value.ToObject <Dictionary <string, object> >();
                string          username      = d["username"] == null ? "" : d["username"].ToString();
                string          password      = d["password"] == null ? "" : d["password"].ToString();
                UserLoginModule um            = new UserLoginModule();
                if (string.IsNullOrEmpty(username) || string.IsNullOrEmpty(password))
                {
                    return(Json(new { code = -1, message = "用户名或密码不能为空!" }));
                }
                DataTable du = um.getUserType(username);
                if (du != null && du.Rows.Count > 0)
                {
                    DataTable dr = um.getAdminInfoByName(username, password);//获取用户是否存在
                    if (dr != null && dr.Rows.Count > 0)
                    {
                        userId = dr.Rows[0]["CONF_CODE"].ToString();
                        string accessToken = AccessTokenTool.GetAccessToken(userId);
                        STORE.UTILITY.AccessTokenTool.DeleteToken(userId);
                        STORE.UTILITY.AccessTokenTool.InsertToken(userId, accessToken, DateTime.Now.AddHours(1));
                        DataTable dtProject = um.getProject(userId);
                        int       level     = 1;
                        //if (Extension.GetClientUserIp(Request.HttpContext).ToString() != dt.Rows[0]["USER_IP"].ToString())
                        //{
                        //    level = 2;
                        //}
                        log.Info(DateTime.Now, userId, userName, Extension.GetClientUserIp(Request.HttpContext), 1, "LogIn", "", level);
                        return(Json(new
                        {
                            code = 2000,
                            message = "超级管理员登录成功!",
                            token = accessToken,
                            //userInfo = JsonConvert.DeserializeObject(JsonConvert.SerializeObject(dr)),
                            roleLevel = 0
                        }));
                    }
                    else
                    {
                        return(Json(new { code = -1, message = "账号或者密码错误!" }));
                    }
                }
                else
                {
                    password = Security.SecurityHelper.StringToMD5Hash(password);
                    DataTable dt = um.getUserInfoByName(username);
                    if (dt == null || dt.Rows.Count == 0)
                    {
                        return(Json(new { code = -1, message = "此用户不存在!" }));
                    }
                    else if (password != dt.Rows[0]["USER_PASS"].ToString())
                    {
                        return(Json(new { code = -1, message = "密码错误!" }));
                    }
                    else
                    {
                        DataTable dc = um.getAdminTokenByName(dt.Rows[0]["USER_ID"].ToString());//获取用户Token是否存在
                        if (dc == null || dc.Rows.Count < 1)
                        {
                            userId = dt.Rows[0]["USER_ID"].ToString();
                            string accessToken = AccessTokenTool.GetAccessToken(userId);
                            STORE.UTILITY.AccessTokenTool.DeleteToken(userId);
                            STORE.UTILITY.AccessTokenTool.InsertToken(userId, accessToken, DateTime.Now.AddHours(1));
                            DataTable dtProject = um.getProject(userId);
                            int       level     = 1;
                            //if (Extension.GetClientUserIp(Request.HttpContext).ToString() != dt.Rows[0]["USER_IP"].ToString())
                            //{
                            //    level = 2;
                            //}
                            log.Info(DateTime.Now, userId, userName, Extension.GetClientUserIp(Request.HttpContext), 1, "LogIn", "", level);
                            return(Json(new
                            {
                                code = 2000,
                                message = "",
                                token = accessToken,
                                projectInfo = JsonConvert.DeserializeObject(JsonConvert.SerializeObject(dtProject)),
                                userInfo = JsonConvert.DeserializeObject(JsonConvert.SerializeObject(dt)),
                                roleLevel = dt.Rows[0]["USER_TYPE"].ToString()
                            }));
                        }
                        else
                        {
                            userId = dt.Rows[0]["USER_ID"].ToString();
                            string    accessToken = dc.Rows[0]["ACCESS_TOKEN"].ToString();
                            DataTable dtProject   = um.getProject(userId);
                            int       level       = 1;
                            //if (Extension.GetClientUserIp(Request.HttpContext).ToString() != dt.Rows[0]["USER_IP"].ToString())
                            //{
                            //    level = 2;
                            //}
                            log.Info(DateTime.Now, userId, userName, Extension.GetClientUserIp(Request.HttpContext), 1, "LogIn", "", level);
                            return(Json(new
                            {
                                code = 2000,
                                message = "",
                                token = accessToken,
                                projectInfo = JsonConvert.DeserializeObject(JsonConvert.SerializeObject(dtProject)),
                                userInfo = JsonConvert.DeserializeObject(JsonConvert.SerializeObject(dt)),
                                roleLevel = dt.Rows[0]["USER_TYPE"].ToString()
                            }));
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                log.Info(DateTime.Now, userId, userName, Extension.GetClientUserIp(Request.HttpContext), 1, "LogIn", ex.Message.Length > 120 ? ex.Message.Substring(0, 100) : ex.Message, 1);
                return(Json(new { code = -1, message = "登录时程序发生错误" + ex.Message }));
            }
        }
Esempio n. 3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="token"></param>
        /// <returns></returns>
        public DataTable getUserAndGroupgByToken(string token)
        {
            string userid = AccessTokenTool.GetUserId(token);

            return(db.GetUserAndGroup(userid));
        }
Esempio n. 4
0
        public UIDP.BIZModule.Models.ts_uidp_userinfo getUserInfoByToken(string token)
        {
            string userid = AccessTokenTool.GetUserId(token);

            return(getUserInfoByUserId(userid));
        }
Esempio n. 5
0
        public IActionResult loginByUsernames([FromBody] JObject value)
        {
            string userId   = "";
            string userName = "";

            try
            {
                Dictionary <string, object> d = value.ToObject <Dictionary <string, object> >();
                string username = d["username"] == null ? "" : d["username"].ToString();
                string password = d["password"] == null ? "" : d["password"].ToString();
                if (string.IsNullOrEmpty(username) || string.IsNullOrEmpty(password))
                {
                    return(Json(new { code = -1, message = "用户名或密码不能为空!" }));
                }
                UserModule mm = new UserModule();
                userId = mm.getAdminCode();
                string pass = mm.getAdminPass();
                if ((username == userId))
                {
                    if (password != pass)
                    {
                        return(Json(new { code = -1, message = "管理员密码不正确!" }));
                    }
                    userName = "******";
                    string accessToken = AccessTokenTool.GetAccessToken(userId);
                    UIDP.UTILITY.AccessTokenTool.DeleteToken(userId);
                    UIDP.UTILITY.AccessTokenTool.InsertToken(userId, accessToken, DateTime.Now.AddHours(1));
                    log.Info(DateTime.Now, userId, userName, Extension.GetClientUserIp(Request.HttpContext), 2, "LogIn", "", 1);
                    return(Json(new
                    {
                        code = 2000,
                        message = "",
                        token = accessToken,
                        orgList = new DataTable(),
                        userList = new DataTable(),
                        roleLevel = "admin"
                    }));
                }
                else
                {
                    UserLoginModule um = new UserLoginModule();
                    if (d["userDomain"].ToString() == "PTR_IDENT")
                    {
                        var builder = new ConfigurationBuilder()
                                      .SetBasePath(Directory.GetCurrentDirectory())
                                      .AddJsonFile("appsettings.json");
                        Configuration = builder.Build();
                        string            LDAPPATH   = Configuration["LdapPath"];
                        DirectoryEntry    entry      = new DirectoryEntry(LDAPPATH, username, password);
                        DirectorySearcher mySearcher = new DirectorySearcher(entry);
                        mySearcher.Filter = "(SAMAccountName=" + username + ")";
                        SearchResult result = mySearcher.FindOne();
                        if (result == null)
                        {
                            throw new Exception("用户认证错误");
                        }
                        else
                        {
                            DataTable userdt = um.getUserInfoByName(username);
                            if (userdt == null || userdt.Rows.Count == 0)
                            {
                                return(Json(new { code = -1, message = "本地用户不存在,请同步用户信息!" }));
                            }
                            Dictionary <string, object> dinfo = new Dictionary <string, object>();
                            if (password != userdt.Rows[0]["USER_PASS"].ToString())
                            {
                                //dinfo["password"] = userdt.Rows[0]["USER_PASS"].ToString();
                                dinfo["newpassword"] = password;
                                dinfo["userid"]      = userdt.Rows[0]["USER_ID"].ToString();
                                mm.updatePTRpass(dinfo);
                            }
                        }
                    }

                    DataTable dt = um.getUserInfoByName(username);
                    if (dt == null || dt.Rows.Count == 0)
                    {
                        return(Json(new { code = -1, message = "此用户不存在!" }));
                    }
                    password = UIDP.Security.SecurityHelper.StringToMD5Hash(password);
                    if (password != dt.Rows[0]["USER_PASS"].ToString())
                    {
                        return(Json(new { code = -1, message = "密码错误!" }));
                    }
                    userId = dt.Rows[0]["USER_ID"].ToString();
                    //userName = dt.Rows[0]["LOGIN_REMARK"].ToString();
                    string accessToken = AccessTokenTool.GetAccessToken(userId);
                    UIDP.UTILITY.AccessTokenTool.DeleteToken(userId);
                    UIDP.UTILITY.AccessTokenTool.InsertToken(userId, accessToken, DateTime.Now.AddHours(1));
                    DataTable dtUser = um.getLoginByID(userId);
                    int       level  = 1;
                    if (Extension.GetClientUserIp(Request.HttpContext).ToString() != dt.Rows[0]["USER_IP"].ToString())
                    {
                        level = 2;
                    }
                    log.Info(DateTime.Now, userId, userName, Extension.GetClientUserIp(Request.HttpContext), 2, "LogIn", "", level);
                    return(Json(new
                    {
                        code = 2000,
                        message = "",
                        token = accessToken,
                        orgList = new DataTable(),
                        userList = JsonConvert.DeserializeObject(JsonConvert.SerializeObject(dtUser)),
                        roleLevel = ""
                    }));
                }
            }
            catch (Exception ex)
            {
                log.Info(DateTime.Now, userId, userName, Extension.GetClientUserIp(Request.HttpContext), 1, "LogIn", ex.Message.Length > 120 ? ex.Message.Substring(0, 100) : ex.Message, 1);
                return(Json(new { code = -1, message = "登录时程序发生错误" + ex.Message }));
            }
        }
        //public IActionResult examineApplyData([FromBody]JObject[] value)
        public async Task <IActionResult> examineApplyData([FromBody] JObject[] value)
        {
            Dictionary <string, object> d = value[0].ToObject <Dictionary <string, object> >();
            Dictionary <string, object> t = value[1].ToObject <Dictionary <string, object> >();
            Dictionary <string, object> r = new Dictionary <string, object>();
            Dictionary <string, object> q = new Dictionary <string, object>();

            t["RECORD_ID"]     = Guid.NewGuid().ToString();
            d["CHECK_DATE"]    = "";
            d["SERVICE_CODE"]  = "";
            d["SERVICE_NAME"]  = "";
            d["APPLY_EXPIRET"] = "";
            d["APPLY_TYPE"]    = "";
            d["APPLY_EMAIL"]   = "";
            try
            {
                DataTable validate = mm.fetchApplyInfoList(d);
                d["APPLY_TYPE"]        = validate.Rows[0]["APPLY_TYPE"].ToString();
                d["APPLY_RESOURCE_ID"] = validate.Rows[0]["APPLY_RESOURCE_ID"].ToString();
                d["APPLY_EMAIL"]       = validate.Rows[0]["APPLY_EMAIL"].ToString();
                var builder = new ConfigurationBuilder()
                              .SetBasePath(Directory.GetCurrentDirectory())
                              .AddJsonFile("appsettings.json");
                Configuration = builder.Build();
                string Content1  = Configuration["Content1"].ToString();
                string Content2  = Configuration["Content2"].ToString();
                string Content3  = Configuration["Content3"].ToString();
                string Content4  = Configuration["Content4"].ToString();
                string Telephone = Configuration["Telephone"].ToString();
                string Unit      = Configuration["Unit"].ToString();
                t["RECORD_CONTENT"] = t["RECORD_CONTENT"].ToString().Replace("&Content1", Content1).Replace("&Content2", Content2).Replace("&Content3", Content3).Replace("&Content4", Content4).Replace("&Telephone", Telephone).Replace("&Unit", Unit);
                if (validate != null && validate.Rows.Count > 0 && validate.Rows[0]["CHECK_STATE"].ToString() != d["CHECK_STATE"].ToString())
                {
                    DateTime timestamp = DateTime.Now;
                    if (validate.Rows[0]["APPLY_TYPE"].ToString() == "2" && d["CHECK_STATE"].ToString() == "1")//0开发平台1组件2服务
                    {
                        string    accessToken = AccessTokenTool.GetAccessToken(d["APPLY_ID"].ToString());
                        DataTable serviceInfo = sm.getServiceInfo(d);
                        if (serviceInfo != null && serviceInfo.Rows.Count > 0)
                        {
                            d["SERVICE_NAME"] = serviceInfo.Rows[0]["SERVICE_NAME"].ToString();
                            d["SERVICE_CODE"] = accessToken;
                            //t["RECORD_CONTENT"] = t["RECORD_CONTENT"].ToString();
                            //d["CHECK_DATE"] = timestamp.ToString("yyyy-MM-dd HH:mm:ss");
                            //d["SERVICE_CODE"] = serviceInfo.Rows[0]["SERVICE_URL"].ToString() + "?token=" + accessToken;
                            //t["RECORD_CONTENT"] = t["RECORD_CONTENT"].ToString().Replace(d["SERVICE_NAME"].ToString(), d["SERVICE_NAME"].ToString()+"("+ d["SERVICE_CODE"].ToString()+")");
                        }
                    }
                    if (validate.Rows[0]["USE_TYPE"].ToString() == "0")//0开发1生产
                    {
                        q["CONF_CODE"] = "DEVELOP_EXPIRET";
                        if (d.Keys.Contains("CHECK_DATE") && (d["CHECK_DATE"] == null || d["CHECK_DATE"].ToString() == ""))
                        {
                            d["CHECK_DATE"] = timestamp.ToString("yyyy-MM-dd HH:mm:ss");
                            double duration = Convert.ToDouble(cm.getConfigInfo(q));
                            d["APPLY_EXPIRET"] = timestamp.AddDays(duration);
                        }
                    }
                    else if (validate.Rows[0]["USE_TYPE"].ToString() == "1")
                    {
                        q["CONF_CODE"] = "PRODUCT_EXPIRET";
                        if (d.Keys.Contains("CHECK_DATE") && string.IsNullOrEmpty(d["CHECK_DATE"].ToString()))
                        {
                            double duration = Convert.ToDouble(cm.getConfigInfo(q));
                            d["CHECK_DATE"]    = timestamp.ToString("yyyy-MM-dd HH:mm:ss");
                            d["APPLY_EXPIRET"] = timestamp.AddDays(duration);
                        }
                    }
                    else
                    {
                        throw new Exception("用途类型读取失败!");
                    }
                    if (d["CHECK_STATE"].ToString() == "2")
                    {
                        d["CHECK_DATE"]    = timestamp.ToString("yyyy-MM-dd HH:mm:ss");
                        d["APPLY_EXPIRET"] = null;
                        d["SERVICE_CODE"]  = null;
                    }
                    //SendEmail(t["RECORD_TITLE"].ToString(), d["APPLY_EMAIL"].ToString(), t["RECORD_CONTENT"].ToString());
                }
                else
                {
                    d["CHECK_DATE"]    = validate.Rows[0]["CHECK_DATE"].ToString();
                    d["APPLY_EXPIRET"] = validate.Rows[0]["APPLY_EXPIRET"].ToString();
                    d["SERVICE_CODE"]  = validate.Rows[0]["SERVICE_CODE"].ToString();
                }
                string b = mm.examineApplyData(d, t);
                if (b == "")
                {
                    //SendEmail(t["RECORD_TITLE"].ToString(), "*****@*****.**", t["RECORD_CONTENT"].ToString());
                    await SendEmail(t["RECORD_TITLE"].ToString(), d["APPLY_EMAIL"].ToString(), t["RECORD_CONTENT"].ToString());

                    r["message"] = "成功";
                    r["code"]    = 2000;
                }
                else
                {
                    r["code"]    = -1;
                    r["message"] = b;
                }
            }
            catch (Exception e)
            {
                r["code"]    = -1;
                r["message"] = e.Message;
            }
            return(Json(r));
        }