303 lines
10 KiB
C#
303 lines
10 KiB
C#
|
namespace BLL
|
|||
|
{
|
|||
|
using System;
|
|||
|
using System.Collections;
|
|||
|
using System.Diagnostics.CodeAnalysis;
|
|||
|
using System.Globalization;
|
|||
|
using System.Linq;
|
|||
|
using System.Data.Linq;
|
|||
|
using System.Web.Security;
|
|||
|
using System.Web.UI.WebControls;
|
|||
|
using Model;
|
|||
|
using BLL;
|
|||
|
using System.Collections.Generic;
|
|||
|
|
|||
|
public static class Sys_UserService
|
|||
|
{
|
|||
|
/// <summary>
|
|||
|
/// <20>û<EFBFBD><C3BB><EFBFBD>½<EFBFBD><C2BD><EFBFBD><EFBFBD>
|
|||
|
/// </summary>
|
|||
|
/// <param name="loginname"><3E><>½<EFBFBD><C2BD></param>
|
|||
|
/// <param name="password">δ<><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
|
|||
|
/// <param name="rememberMe"><3E><>ס<EFBFBD>ҿ<EFBFBD><D2BF><EFBFBD></param>
|
|||
|
/// <param name="page"><3E><><EFBFBD><EFBFBD>ҳ<EFBFBD><D2B3></param>
|
|||
|
/// <returns><3E>Ƿ<EFBFBD><C7B7><EFBFBD>½<EFBFBD>ɹ<EFBFBD></returns>
|
|||
|
public static bool UserLogOn(string account, string password,string projectArea, bool rememberMe, System.Web.UI.Page page)
|
|||
|
{
|
|||
|
bool IsSuccess = false;
|
|||
|
var q = from y in Funs.DB.Sys_User where y.Account == account select y;
|
|||
|
List<Model.Sys_User> x = null;
|
|||
|
if (q.Count() > 0)
|
|||
|
{
|
|||
|
x = (from y in Funs.DB.Sys_User
|
|||
|
where y.Account == account && y.IsPost == true
|
|||
|
&& y.Password == EncryptionPassword(password)
|
|||
|
select y).ToList();
|
|||
|
if (x.Any())
|
|||
|
{
|
|||
|
FormsAuthentication.SetAuthCookie(account, false);
|
|||
|
Model.Sys_User s = x.First();
|
|||
|
s.LoginProjectArea = projectArea;
|
|||
|
page.Session[SessionName.CurrUser] = s;
|
|||
|
|
|||
|
if (rememberMe)
|
|||
|
{
|
|||
|
System.Web.HttpCookie u = new System.Web.HttpCookie("UserInfo");
|
|||
|
u["username"] = account;
|
|||
|
u["projectArea"] = projectArea;
|
|||
|
//u["password"] = null;
|
|||
|
// Cookies<65><73><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊһ<CEAA><D2BB>.
|
|||
|
u.Expires = DateTime.Now.AddYears(1);
|
|||
|
//u.Secure = true;
|
|||
|
page.Response.Cookies.Add(u);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
// <20><>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD>ύ<EFBFBD>û<EFBFBD><C3BB><EFBFBD>ʱ,Cookies<65><73><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>.
|
|||
|
page.Response.Cookies["UserInfo"].Expires = DateTime.Now.AddDays(-1);
|
|||
|
page.Response.Cookies["UserInfo"].Secure = true;
|
|||
|
}
|
|||
|
IsSuccess = true;
|
|||
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>½<EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ0,<2C><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>ÿ<EFBFBD>
|
|||
|
UpdateErrorNum(q.First().UserId, 0);
|
|||
|
UpdateLockTime(q.First().UserId, null);
|
|||
|
|
|||
|
//page.Application.Lock();
|
|||
|
//page.Application["IsValiad"] = true;
|
|||
|
//page.Application.UnLock();
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
int errorNum = q.First().ErrorNum != null ? q.First().ErrorNum.Value : 0;
|
|||
|
UpdateErrorNum(q.First().UserId, errorNum + 1);
|
|||
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>10<31><30><EFBFBD><EFBFBD><EFBFBD>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
if (errorNum + 1 == 10)
|
|||
|
{
|
|||
|
UpdateLockTime(q.First().UserId, DateTime.Now);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
return IsSuccess;
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// <20>ĵ<DEB8>½<EFBFBD><C2BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
/// </summary>
|
|||
|
/// <param name="userId"></param>
|
|||
|
/// <param name="errorNum"></param>
|
|||
|
public static void UpdateErrorNum(string userId, int errorNum)
|
|||
|
{
|
|||
|
Model.HJGLDB db = Funs.DB;
|
|||
|
Model.Sys_User m = db.Sys_User.FirstOrDefault(e => e.UserId == userId);
|
|||
|
m.ErrorNum = errorNum;
|
|||
|
db.SubmitChanges();
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// <20>ĵ<DEB8>½<EFBFBD><C2BD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
/// </summary>
|
|||
|
/// <param name="userId"></param>
|
|||
|
/// <param name="lockTime"></param>
|
|||
|
public static void UpdateLockTime(string userId, DateTime? lockTime)
|
|||
|
{
|
|||
|
Model.HJGLDB db = Funs.DB;
|
|||
|
Model.Sys_User m = db.Sys_User.FirstOrDefault(e => e.UserId == userId);
|
|||
|
m.LockTime = lockTime;
|
|||
|
db.SubmitChanges();
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
/// </summary>
|
|||
|
/// <param name="password"><3E><><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
|
|||
|
/// <returns><3E><><EFBFBD>ܺ<EFBFBD><DCBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></returns>
|
|||
|
public static string EncryptionPassword(string password)
|
|||
|
{
|
|||
|
return FormsAuthentication.HashPasswordForStoringInConfigFile(password, "MD5");
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// <20><>ȡ<EFBFBD>û<EFBFBD><C3BB><EFBFBD>Ϣ
|
|||
|
/// </summary>
|
|||
|
/// <param name="userId"><3E>û<EFBFBD>Id</param>
|
|||
|
/// <returns><3E>û<EFBFBD><C3BB><EFBFBD>Ϣ</returns>
|
|||
|
public static Model.Sys_User GetUsersByUserId(string userId)
|
|||
|
{
|
|||
|
Model.Sys_User m = Funs.DB.Sys_User.FirstOrDefault(e => e.UserId == userId);
|
|||
|
return m;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// <20><>ȡ<EFBFBD>û<EFBFBD><C3BB>˺<EFBFBD><CBBA>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
/// </summary>
|
|||
|
/// <param name="userId"><3E>û<EFBFBD>id</param>
|
|||
|
/// <param name="account"><3E>˺<EFBFBD></param>
|
|||
|
/// <param name="projectId"><3E><>ĿID</param>
|
|||
|
/// <returns><3E>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD></returns>
|
|||
|
public static bool IsExistUserAccount(string userId, string account)
|
|||
|
{
|
|||
|
bool isExist = false;
|
|||
|
var user = Funs.DB.Sys_User.FirstOrDefault(x => x.Account == account && x.UserId != userId);
|
|||
|
if (user != null)
|
|||
|
{
|
|||
|
isExist = true;
|
|||
|
}
|
|||
|
return isExist;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>Id<49><64>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
/// </summary>
|
|||
|
/// <param name="userId"><3E>û<EFBFBD>Id</param>
|
|||
|
/// <returns><3E>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></returns>
|
|||
|
public static int GetUserCount(string userId)
|
|||
|
{
|
|||
|
var q = (from x in Funs.DB.Sys_User where x.UserId == userId select x).ToList();
|
|||
|
return q.Count();
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
|
|||
|
/// </summary>
|
|||
|
/// <param name="userId"></param>
|
|||
|
/// <returns></returns>
|
|||
|
public static string GetPasswordByUserId(string userId)
|
|||
|
{
|
|||
|
Model.Sys_User m = Funs.DB.Sys_User.FirstOrDefault(e => e.UserId == userId);
|
|||
|
return m.Password;
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>ID<49><44>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
|
|||
|
/// </summary>
|
|||
|
/// <param name="userId"></param>
|
|||
|
/// <returns></returns>
|
|||
|
public static string GetUserNameByUserId(string userId)
|
|||
|
{
|
|||
|
string userName = string.Empty;
|
|||
|
Model.Sys_User m = Funs.DB.Sys_User.FirstOrDefault(e => e.UserId == userId);
|
|||
|
if (m != null)
|
|||
|
{
|
|||
|
userName = m.UserName;
|
|||
|
}
|
|||
|
return userName;
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// <20><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
/// </summary>
|
|||
|
/// <param name="userId"></param>
|
|||
|
/// <param name="password"></param>
|
|||
|
public static void UpdatePassword(string userId, string password)
|
|||
|
{
|
|||
|
Model.HJGLDB db = Funs.DB;
|
|||
|
Model.Sys_User m = db.Sys_User.FirstOrDefault(e => e.UserId == userId);
|
|||
|
m.Password = EncryptionPassword(password);
|
|||
|
db.SubmitChanges();
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1>Ϣ
|
|||
|
/// </summary>
|
|||
|
/// <param name="user"><3E><>Աʵ<D4B1><CAB5></param>
|
|||
|
public static void AddUser(Model.Sys_User user)
|
|||
|
{
|
|||
|
Model.HJGLDB db = Funs.DB;
|
|||
|
Model.Sys_User newUser = new Model.Sys_User();
|
|||
|
newUser.UserId = user.UserId;
|
|||
|
newUser.Account = user.Account;
|
|||
|
newUser.UserCode = user.UserCode;
|
|||
|
newUser.Password = user.Password;
|
|||
|
newUser.UserName = user.UserName;
|
|||
|
newUser.UnitId = user.UnitId;
|
|||
|
newUser.Depart = user.Depart;
|
|||
|
newUser.RoleIds = user.RoleIds;
|
|||
|
newUser.IsPost = user.IsPost;
|
|||
|
newUser.Email = user.Email;
|
|||
|
newUser.EmailPassword = user.EmailPassword;
|
|||
|
newUser.AllowLoginSystem = user.AllowLoginSystem;
|
|||
|
|
|||
|
db.Sys_User.InsertOnSubmit(newUser);
|
|||
|
db.SubmitChanges();
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// <20><EFBFBD><DEB8><EFBFBD>Ա<EFBFBD><D4B1>Ϣ
|
|||
|
/// </summary>
|
|||
|
/// <param name="user"><3E><>Աʵ<D4B1><CAB5></param>
|
|||
|
public static void UpdateUser(Model.Sys_User user)
|
|||
|
{
|
|||
|
Model.HJGLDB db = Funs.DB;
|
|||
|
Model.Sys_User newUser = db.Sys_User.FirstOrDefault(e => e.UserId == user.UserId);
|
|||
|
if (newUser != null)
|
|||
|
{
|
|||
|
newUser.Account = user.Account;
|
|||
|
newUser.UserCode = user.UserCode;
|
|||
|
newUser.UserName = user.UserName;
|
|||
|
newUser.UnitId = user.UnitId;
|
|||
|
newUser.Depart = user.Depart;
|
|||
|
newUser.RoleIds = user.RoleIds;
|
|||
|
newUser.IsPost = user.IsPost;
|
|||
|
newUser.Email = user.Email;
|
|||
|
if (!String.IsNullOrEmpty(user.EmailPassword))
|
|||
|
{
|
|||
|
newUser.EmailPassword = user.EmailPassword;
|
|||
|
}
|
|||
|
newUser.AllowLoginSystem = user.AllowLoginSystem;
|
|||
|
|
|||
|
db.SubmitChanges();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԱIdɾ<64><C9BE>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1>Ϣ
|
|||
|
/// </summary>
|
|||
|
/// <param name="userId"></param>
|
|||
|
public static void DeleteUser(string userId)
|
|||
|
{
|
|||
|
Model.HJGLDB db = Funs.DB;
|
|||
|
Model.Sys_User user = db.Sys_User.FirstOrDefault(e => e.UserId == userId);
|
|||
|
var log = from x in Funs.DB.Sys_Log where x.UserId == userId select x;
|
|||
|
if (user != null)
|
|||
|
{
|
|||
|
if (log.Count() > 0)
|
|||
|
{
|
|||
|
db.Sys_Log.DeleteAllOnSubmit(log);
|
|||
|
}
|
|||
|
db.Sys_User.DeleteOnSubmit(user);
|
|||
|
db.SubmitChanges();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// <20><><EFBFBD>ݵ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>
|
|||
|
/// </summary>
|
|||
|
/// <param name="unitId"><3E><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD></param>
|
|||
|
/// <returns></returns>
|
|||
|
public static List<Model.Sys_User> GetUsersByUnitId(string unitId)
|
|||
|
{
|
|||
|
var q = (from x in Funs.DB.Sys_User where x.UnitId == unitId select x).ToList();
|
|||
|
return q;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// <20><>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD>ڸڵ<DAB8><DAB5>û<EFBFBD>
|
|||
|
/// </summary>
|
|||
|
/// <returns></returns>
|
|||
|
public static List<Model.Sys_User> GetUserList()
|
|||
|
{
|
|||
|
return (from x in Funs.DB.Sys_User where x.IsPost == true orderby x.UserName select x).ToList();
|
|||
|
}
|
|||
|
|
|||
|
public static Model.Sys_User GetUsersByUserName(string userName)
|
|||
|
{
|
|||
|
return Funs.DB.Sys_User.FirstOrDefault(e => e.UserName == userName);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|