123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading;
- using StandardLibrary;
- namespace StandardLibrary
- {
- public enum User
- {
- NoLogin, // 未登录
- Operator, // 操作员
- Admin, // 管理员
- SuperAdmin // 超管
- }
- public class UserAccount
- {
- private string filePath = AppDomain.CurrentDomain.BaseDirectory + "SystemParameter.ini";
-
- private Dictionary<User, string> userPassword = new Dictionary<User, string>();
- private User _userPermission = User.NoLogin;
- public delegate void UserChangedHandler(User user);
- public event UserChangedHandler UserChangedEvent;
- public UserAccount()
- {
- GetUserPassword();
- }
- public User UserPermission
- {
- get { return _userPermission; }
- }
- /// <summary>
- /// 获取用户密码
- /// </summary>
- private void GetUserPassword()
- {
- userPassword.Clear();
- userPassword.Add(User.Operator, IniFile.INIGetStringValue(filePath, "Password", "Operator", ""));
- userPassword.Add(User.Admin, IniFile.INIGetStringValue(filePath, "Password", "Admin", ""));
- userPassword.Add(User.SuperAdmin, IniFile.INIGetStringValue(filePath, "Password", "SuperAdmin", ""));
- }
- /// <summary>
- /// 保存用户密码
- /// </summary>
- private void SaveUserPassword()
- {
- IniFile.INIWriteValue(filePath, "Password", "Operator", userPassword[User.Operator]);
- IniFile.INIWriteValue(filePath, "Password", "Admin", userPassword[User.Admin]);
- IniFile.INIWriteValue(filePath, "Password", "SuperAdmin", userPassword[User.SuperAdmin]);
- }
- /// <summary>
- /// 用户登录
- /// </summary>
- /// <param name="user">用户</param>
- /// <param name="inputPassword">输入密码</param>
- /// <returns></returns>
- public bool UserLogin(User user, string inputPassword)
- {
- if (user == User.NoLogin) return false;
- if (userPassword[user] == inputPassword)
- {
- _userPermission = user;
- UserChangedEvent?.Invoke(_userPermission);
- return true;
- }
- else return false;
- }
- /// <summary>
- /// 用户登出
- /// </summary>
- public void UserLogout()
- {
- _userPermission = User.NoLogin;
- UserChangedEvent?.Invoke(_userPermission);
- }
- public void UserSet(User user)
- {
- _userPermission = user;
- UserChangedEvent?.Invoke(_userPermission);
- }
- /// <summary>
- /// 密码修改
- /// </summary>
- /// <param name="user">用户</param>
- /// <param name="oldpa">旧密码</param>
- /// <param name="newpa1">新密码</param>
- /// <param name="newpa2">新密码确认</param>
- /// <returns></returns>
- public bool UserChangePassword(User user, string oldpa, string newpa1, string newpa2)
- {
- if (user == User.NoLogin) return false;
- if (userPassword[user] == oldpa)
- {
- if (newpa1 == newpa2)
- {
- userPassword[user] = newpa1;
- _userPermission = User.NoLogin;
- UserChangedEvent?.Invoke(_userPermission);
- SaveUserPassword();
- return true;
- }
- else return false;
- }
- else return false;
- }
- public User GetUserName(string userText)
- {
- User user = new User();
- switch (userText)
- {
- case "操作员":
- user = User.Operator;
- break;
- case "管理员":
- user = User.Admin;
- break;
- case "超级管理员":
- user = User.SuperAdmin;
- break;
- default:
- user = User.NoLogin;
- break;
- }
- return user;
- }
- }
- }
|