/// <summary> /// Logins the specified signature. /// </summary> /// <param name="Signature">The signature.</param> /// <param name="ToController">To controller.</param> /// <param name="ToAction">To action.</param> /// <param name="id">The identifier.</param> /// <returns>ActionResult.</returns> public ActionResult Login(string Signature, string ToController, string ToAction, string id) { try { OAuth oauth = new OAuth(CivetHelper.AppID); OAuth.UserInfo uInfo = oauth.FastGetUserInfo(Request); //判斷用戶權限並給UserInfo賦值(存入Session) if (uInfo == null) { return(Redirect(Url.Action("AlertInfo", "Home", new { ErrMsg = LUtil.Lang(HttpContext, "无账号信息") }))); } #region 添加管理员信息 if (uInfo != null) { if (!string.IsNullOrEmpty(uInfo.civetno)) { MongoCollection <ModUApiManager> uapimanager = mongoh.GetDb().GetCollection <ModUApiManager>("uapi_managers"); ModUApiManager modeuap = uapimanager.Find(Query.And( Query.EQ("_id", new BsonString(uInfo.civetno.ToUpper())), Query.EQ("is_disabled", new BsonBoolean(false)) )).FirstOrDefault(); if (modeuap != null) { if (modeuap.last_login_time < DateTime.Now.AddMinutes(-2)) { uapimanager.Update((Query.EQ("_id", new BsonString(uInfo.civetno.ToUpper()))), Update.Set("last_login_time", DateTime.Now)); } UtilComm.UApi_Manager = modeuap; //if (!modeuap.is_disabled) //{ // return Redirect(Url.Action("AlertInfo", "Home", new { ErrMsg = LUtil.Lang(HttpContext, "无权限") })); //} } else { return(Redirect(Url.Action("AlertInfo", "Home", new { ErrMsg = LUtil.Lang(HttpContext, "无账号信息") }))); } Managelog(uInfo.civetno.ToUpper()); } } #endregion base.UserInfo = new ModUserInfo { BaseInfo = uInfo }; string url = string.IsNullOrEmpty(id) ? Url.Action(ToAction, ToController) : Url.Action(ToAction, ToController, new { id = id }); string QueryString = HtmlUtil.DealQuery(Request.QueryString.ToString(), "code", "id"); if (QueryString != "") { url += "?" + QueryString; } //完善登錄操作 return(Redirect(url)); } catch (Exception) { return(Redirect(Url.Action("AlertInfo", "Home", new { ErrMsg = LUtil.Lang(HttpContext, "数据读取异常") }))); } }