进销存系统用户登录实现:基础权限与操作控制
进销存系统用户登录实现:基础权限与操作控制
到目前为止,有一个问题一直被我们刻意忽略:
谁在用这个系统?
一、为什么必须加登录?
如果没有登录:
- 谁都能删数据
- 谁都能做采购、销售
- 无法追责
没有登录的系统,只能算 Demo
二、用户系统的最小实现目标
本篇不做复杂 RBAC,只实现:
- 用户登录
- 身份区分
- 基本操作限制
三、用户表设计
CREATE TABLE sys_user (
id INT PRIMARY KEY IDENTITY(1,1),
username VARCHAR(50) NOT NULL UNIQUE,
password VARCHAR(100) NOT NULL,
role VARCHAR(20) NOT NULL
);
role 示例:
- admin(管理员)
- clerk(普通操作员)
四、登录界面逻辑
登录校验 SQL
private bool Login(string username, string password)
{
string sql = @"
SELECT role FROM sys_user
WHERE username = @u AND password = @p";
using (SqlConnection conn = new SqlConnection(connectionString))
{
conn.Open();
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.Parameters.AddWithValue("@u", username);
cmd.Parameters.AddWithValue("@p", password);
object role = cmd.ExecuteScalar();
if (role == null) return false;
CurrentUser.Role = role.ToString();
return true;
}
}
五、登录成功后的系统行为
if (Login(txtUser.Text, txtPwd.Text))
{
MainForm main = new MainForm();
main.Show();
this.Hide();
}
else
{
MessageBox.Show("用户名或密码错误!");
}
六、基础权限控制示例
private void MainForm_Load(object sender, EventArgs e)
{
if (CurrentUser.Role != "admin")
{
btnUserManage.Enabled = false;
}
}
权限控制的本质是:控制操作入口
七、为什么这一步非常关键?
因为从这一刻开始:
- 数据有“责任人”
- 操作有“身份”
- 系统开始具备“安全边界”

浙公网安备 33010602011771号