C# 具有用户权限的SQL Server CE应用程序
我正在尝试开发一个应用程序,允许通过WinForms和SQLServerCE数据库管理用户。我已经为用户建立了一种方法,通过表数据库中的登录集登录,其中包含用户名和密码列 现在,我正试图找出限制对应用程序特定功能的访问的最佳方法。我的目标是将应用程序分为多个模块(客户、员工、账单等),并为用户提供整个模块的读写权限。稍后,我可能会尝试在每个表单的基础上实现安全性C# 具有用户权限的SQL Server CE应用程序,c#,winforms,security,sql-server-ce,C#,Winforms,Security,Sql Server Ce,我正在尝试开发一个应用程序,允许通过WinForms和SQLServerCE数据库管理用户。我已经为用户建立了一种方法,通过表数据库中的登录集登录,其中包含用户名和密码列 现在,我正试图找出限制对应用程序特定功能的访问的最佳方法。我的目标是将应用程序分为多个模块(客户、员工、账单等),并为用户提供整个模块的读写权限。稍后,我可能会尝试在每个表单的基础上实现安全性 关于如何实现这一点有什么想法吗?首先,您需要在SQL CE上创建角色表 因此,您的UserTable可能会在每个用户中添加一个Role
关于如何实现这一点有什么想法吗?首先,您需要在SQL CE上创建角色表 因此,您的UserTable可能会在每个用户中添加一个
RoleID FK
假设您有管理员和用户角色
在每个表单中,添加安全处理程序方法/类,用于检查访问应用程序的用户的角色
创建公共字符串角色
和puclic string UserName
在每个表单中,您可以将其值传递给表单的其余部分
您可以添加的客户表单加载示例
if(Role=="Admin")
{
//visible all controls stuff
}
else
{
//User
//set controls to read only stuff
}
在登录表单上,单击登录/确定事件
你能行
//your stuff on getting the role of the user
//validation stuff
string role = // get user role;
if (role!=null)
{
//if you have MDI Parent
var mdi = new MDIParent
{
UserName = txtUserName.Text,
Role = role,
};
mdi.Show();
this.Hide();
}
else
{
//Error user not valid!!
}
致以最诚挚的问候谢谢,我会试一试的!