Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如何根据SQL表定义的用户级别控制表单对象?_Sql Server_Vb.net - Fatal编程技术网

Sql server 如何根据SQL表定义的用户级别控制表单对象?

Sql server 如何根据SQL表定义的用户级别控制表单对象?,sql-server,vb.net,Sql Server,Vb.net,我正在创建一个POS应用程序作为vb.net windows窗体应用程序。完成后,超过50名用户将以多种权限使用该应用程序。所以我想创建基于用户级别的控制系统,但我不知道如何继续,因为我对编程太陌生了 我在sql 2012中制作了以下表2: CREATE TABLE [dbo].[Users]( [EmployeeID] [int] NOT NULL, [EmployeeName] [varchar](50) NOT NULL, [UserName] [varchar](

我正在创建一个POS应用程序作为vb.net windows窗体应用程序。完成后,超过50名用户将以多种权限使用该应用程序。所以我想创建基于用户级别的控制系统,但我不知道如何继续,因为我对编程太陌生了

我在sql 2012中制作了以下表2:

CREATE TABLE [dbo].[Users](
    [EmployeeID] [int] NOT NULL,
    [EmployeeName] [varchar](50) NOT NULL,
    [UserName] [varchar](50) NOT NULL,
    [Password] [varchar](50) NOT NULL,
    [UserLevel] [int] NOT NULL)

CREATE TABLE [dbo].[UserLevel](
    [ID] [int] NOT NULL,
    [UserLevel] [varchar](50) NULL)
从应用程序表单向数据库添加新的UserLevel和具有UserLevels的用户对我来说没问题

现在,我想根据登录页面上登录用户的用户级别设置表单对象Enabled=true/false,Visible=true/false

我会在Loggin表单的Loggin按钮的点击事件中尝试以下内容,如果只有固定的UserLevel和用户,但由于将来会创建许多UserLevel和用户,我知道下面不会成功

If userLevel=1 Then
   form1.button.enabled=False
   form2.textbox1.Visible=False
Else
End If
因此,我正在寻找一种通过sql表定义对象属性的方法

你能找个人帮我一下吗


非常感谢。

在继续之前,您需要开始加密密码。以纯文本形式存储它们是一种边缘犯罪行为。它们应该用盐腌过,再剁碎。至于手头的问题……问题是什么?根据登录用户的userlevel控制forms objects属性的最佳简单方法是什么?如果您有某些控件仅对某些用户级别可见,我会将它们全部放在控件内(如groupbox),然后您只需处理使groupbox可见的问题。如果您添加新的管理类型控件,则不会以这种方式更改额外的代码。您只需将它们放在面板上,其余部分自行处理。为什么userlevel位于不同的表中?似乎这只是用户的另一个属性。在你进一步研究之前,你需要弄清楚这到底意味着什么。在某些情况下,归结起来就是用户A不能查看、更改或删除用户B的记录;在涉及表单控件的情况下,围绕这些控件进行设计,以便容器能够启用这些功能。并且总是在不同的表中散列密码级别是因为像admin这样的用户可以创建更多的用户级别。它就像一个用户组。所以该用户级别组中的所有用户将具有相同的权限。确定总是散列密码。Tnx。