using BLL;
using BLL.Oauth;
using Model;
using System;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.Security;
using System.Web.Services;
using System.Web.UI;
namespace FineUIPro.Web
{
public partial class Login_ZJ : PageBase
{
#region
///
/// 是否本部
///
public string IsOffice
{
get
{
return (string)ViewState["IsOffice"];
}
set
{
ViewState["IsOffice"] = value;
}
}
///
/// 菜单类型
///
public string MenuType
{
get
{
return (string)ViewState["MenuType"];
}
set
{
ViewState["MenuType"] = value;
}
}
///
/// 项目ID
///
public string ProjectId
{
get
{
return (string)ViewState["ProjectId"];
}
set
{
ViewState["ProjectId"] = value;
}
}
#endregion
#region 页面加载
///
/// 页面加载
///
///
///
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
bool IsSSO = false;
Sys_User user=new Sys_User();
string message="";
IOauthService IoauthService;
var ThisUnit = CommonService.GetIsThisUnit();
string token;
switch (ThisUnit.CollCropCode)
{
case "913201001349030968":
token = Request.Params["token"];
if (string.IsNullOrEmpty(token)) return;
IsSSO = true;
IoauthService = new OauthService_14HJ();
user = IoauthService.GetLoginInfo(token, ref message);
break;
}
if (IsSSO )
{
if (message != "")
{
Response.Write("");
}
else
{
if (LoginService.UserLogOn(user.Account, true, this.Page))
{
string url = "";
//Funs.SystemUrl = "http://" + HttpContext.Current.Request.Url.Host + ":" + HttpContext.Current.Request.Url.Port + "/cncechsse/";
BLL.LogService.AddLog(this.CurrUser.UserId, "登录成功!");
if (this.CurrUser.IsOffice==true) //本部人员跳转到公司级
{
url = "index_ZJ.aspx";
}
else //非本部人员跳转到项目级
{
if (string.IsNullOrEmpty(this.CurrUser.LastProjectId))
{
var puser = Funs.DB.Project_ProjectUser.FirstOrDefault(x => x.UserId == this.CurrUser.UserId);
if (puser != null)
{
this.CurrUser.LastProjectId = puser.ProjectId;
}
}
this.CurrUser.LoginProjectId = this.CurrUser.LastProjectId;
//// 项目菜单
url = "indexProject_ZJ.aspx?projectId=" + this.CurrUser.LastProjectId;
}
HttpContext.Current.Response.Write("");
HttpContext.Current.Response.End();
// Response.Redirect( url);
// Server.Execute( url);
// Response.Write("");
}
}
}
}
}
#endregion
[WebMethod]
public static string LoginPost(string user, string pwd,string rbSys)
{
return new Login_ZJ().btnLogin_Click(user, pwd, rbSys);
}
private string btnLogin_Click(string user, string pwd, string rbSys)
{
string url = "";
string error = "";
var sysUser = Funs.DB.Sys_User.FirstOrDefault(x => x.Account == user && x.IsPost == true);
if (sysUser != null)
{
if (sysUser.LockTime.HasValue && sysUser.LockTime.Value > DateTime.Now)
{
error = "账号锁定10分钟!";
}
else
{
if (sysUser.Password.ToUpper() != Funs.EncryptionPassword(pwd).ToUpper())
{
if (sysUser.LockTime.HasValue && sysUser.LockTime.Value < DateTime.Now)
{
sysUser.ErrorTimes = null;
sysUser.LockTime = null;
UserService.UpdateSysUser(sysUser);
}
if (sysUser.ErrorTimes.HasValue && sysUser.ErrorTimes.Value >= 4)
{
sysUser.ErrorTimes = sysUser.ErrorTimes.Value + 1;
sysUser.LockTime = DateTime.Now.AddMinutes(10);
UserService.UpdateSysUser(sysUser);
error = "账号锁定10分钟!";
}
else if (sysUser.ErrorTimes.HasValue)
{
sysUser.ErrorTimes = sysUser.ErrorTimes.Value + 1;
UserService.UpdateSysUser(sysUser);
// error = "密码错误" + sysUser.ErrorTimes + "次,超过5次将锁定10分钟!";
error = "用户名或密码错误,请重新输入";
}
else
{
sysUser.ErrorTimes = 1;
UserService.UpdateSysUser(sysUser);
error = "用户名或密码错误,请重新输入";
// error = "密码错误" + sysUser.ErrorTimes + "次,超过5次将锁定10分钟!";
}
}
else
{
sysUser.ErrorTimes = null;
sysUser.LockTime = null;
UserService.UpdateSysUser(sysUser);
string accValue = HttpUtility.UrlEncode(user);
FormsAuthentication.SetAuthCookie(accValue, false);
Page.Session[SessionName.CurrUser] = sysUser;
// var user = x.First();
this.CurrUser.RoleType = RoleService.GetRoleTypeByRoleId(this.CurrUser.RoleId);
//if (!this.CurrUser.LastIsOffice.HasValue)
//{
// this.CurrUser.LastIsOffice = this.CurrUser.IsOffice;
//}
//if (this.CurrUser.LastIsOffice == true)
//{
// this.CurrUser.LoginProjectId = null;
// ////本部菜单
// url = "index_ZJ.aspx";
//}
//else
{
if (string.IsNullOrEmpty(this.CurrUser.LastProjectId))
{
var puser = Funs.DB.Project_ProjectUser.FirstOrDefault(x => x.UserId == this.CurrUser.UserId);
if (puser != null)
{
this.CurrUser.LastProjectId = puser.ProjectId;
}
}
this.CurrUser.LoginProjectId = this.CurrUser.LastProjectId;
//// 项目菜单
url = "indexProject_ZJ.aspx?projectId=" + this.CurrUser.LastProjectId;
}
LogService.AddSys_Log(this.CurrUser, this.CurrUser.UserName, this.CurrUser.UserId, Const.UserMenuId, Const.BtnLogin);
}
}
}
else
{
error = "用户名或密码错误,请重新输入!";
}
//if (LoginService.UserLogOn(user, pwd, true, this.Page))
//{
//}
if (rbSys == "工程")
{
this.SysType = "GONGCHENG";
}
else if (rbSys == "公司/分公司")
{
url = "index_ZJ.aspx";
this.SysType = "GONGCHENG";
}
else if (rbSys == "实业")
{
this.SysType = "SHIYE";
url = "indexProjectShiYe.aspx";
//Dictionary parameters = new Dictionary();
//parameters.Add("user", user);
//parameters.Add("pwd", pwd);
//parameters.Add("rbSys", rbSys);
//string res = CommonService.sendHttp("https://lygcgs.com.cn/subqhse/Login.aspx/LoginPost", JsonConvert.SerializeObject(parameters), "post");
//var resDic = JsonConvert.DeserializeObject>(res);
//url = "https://lygcgs.com.cn/subqhse/" + resDic["d"];
}
if (string.IsNullOrEmpty(error))
{
return url;
}
else
{
return error;
}
}
private string ConvertToHex(byte[] binary)
{
return binary.Aggregate(
new StringBuilder(),
(acc, c) => acc.AppendFormat("{0:x2}", c),
acc => acc.ToString());
}
[WebMethod]
public static string ResetPost(string accout, string name, string idcard)
{
Model.Sys_User sysUser = (from y in Funs.DB.Sys_User
where y.Account == accout && y.IsPost == true
select y).FirstOrDefault();
if (sysUser ==null)
{
return "用户名或密码错误,请重新输入";
}
else if (string.IsNullOrEmpty(sysUser.IdentityCard))
{
return "用户名或密码错误,请重新输入";
}
else if(name != sysUser.UserName)
{
return "用户名或密码错误,请重新输入";
}
else if (idcard != sysUser.IdentityCard)
{
return "用户名或密码错误,请重新输入";
}
sysUser.RawPassword = "cncec." + idcard.Substring(idcard.Length - 4, 4);
sysUser.Password = Funs.EncryptionPassword(sysUser.RawPassword);
Funs.DB.SubmitChanges();
return "重置成功,默认密码是 cncec+'.'+身份证号码后四位,请登录";
}
}
}