创建设置页面

时间:2012-01-30 08:07:39

标签: visual-studio settings

我正在VS 2010中创建一个ASP.Net MVC 3应用程序。我有一个创建设置页面的任务,该页面将使我的数据库中的表中的列具有特定权限(读取,读取/写入等)

这是我第一次有这样的任务,我不知道如何做到这一点。

我尝试右键单击VS中的项目,然后转到“设置”。有一个链接说我的项目没有设置页面,所以我点击它创建一个。出现了一个包含设置的表,但只有公共/内部访问修饰符。我似乎无法找到写/读。

这是创建设置页面的正确方法吗?或者还有另一个吗?

2 个答案:

答案 0 :(得分:1)

您实际上不需要这样的任务的设置页面。在ASP.Net中为用户授予权限的最简单方法是,您需要在数据库中创建一个表。我们只需将其称为权限
然后在该表中创建这些字段:

  • PermissionID(您想要的数据类型)
  • UserID(必须是Users表中的外键)
  • 读取(布尔值或位类型)
  • 写(与读取相同)
  • 两者(与Read相同)

您有一个链接到您的用户表的表。您可以通过设置这些布尔值(true或false)或位(0或1)来为此Permission表中的Users表中的用户设置权限。
然后,当您的用户登录系统时,您可以从该权限表中检查这些“读取”,“写入”和“两个”值,并根据这些真或假值允许该特定用户。

例如,如果某个特定只有Read值为true且其他值为false,那么您可以告诉该用户具有“只读”权限。

这是使用数据库创建用户权限的基本思想。 O'course,您可以使用数据库工具执行一些高级功能。但是,我认为这是最简单的方法。
您可以在该表中添加许多您想要的权限类型 您甚至可以使用此方法创建组。例如,授予特定组的权限将授予所有用户属于该组的权限。

祝你好运...... !!!

答案 1 :(得分:1)

对不起安德鲁。我以前急于回答你的问题。所以,我认为我的答案变得非常清楚。我很抱歉。我会尽力更清楚地回答这个问题。我的答案可能很长,我希望你有足够的耐心读完这篇文章。 :-)

实际上,您的问题可以通过非常简单的方式解决。相信我!实际上你不需要设置页面。

我想您的数据库中将有一个Users表,用于存储系统的用户帐户。对!而且,我认为Users表至少包含以下这些字段。

  • UserID [这必须是表的主键。对! ]
  • 用户名
  • 密码
  • 电子邮件[这是一种可选的。 ]

我只假设你的数据库有这种模式。否则,必须有其他方法为表中的用户设置权限。

好的,在数据​​库中创建另一个名为Permissions的表。该Permissions表将在上述Users表中处理您的用户的权限。好!然后,你有两个表。一个是您原来的Users表,另一个是Permissions表。

确定!我们的新Permissions表格至少包含以下字段:

  • ID [这是此表的主键。 ]
  • UserID [这将来自您之前的Users表中的外键。 ]
  • PermissionRead [此字段将保留boolean数据类型或bit数据类型。 True的{​​{1}}或False以及Boolean的{​​{1}}或0。这完全取决于您使用的DBMS的类型。 ]
  • PermissionWrite [再次,与1相同。 ]

好的,现在你有两张桌子。这些权限读取和写入字段用于保留用户的权限。

如果您具有我上面描述的确切的数据库模式,那么您将具有以下类似的关系:

用户
UserID | 用户名 | PW
U-001 |蒂姆| timpassword
U-002 |吉姆| jimpassword

权限
ID | UserID | PermissionRead | PermissionWrite
1 | U-001 |真的假
2 | U-002 |真的真实


因此,您可以看到,UserID U-001的User Tim具有只读权限,而U-002的User Jim具有读写权限。

因此,您可以在特定用户登录系统时检查这些字段的条件。如果他或她具有bitPermissionReadPermissionReadTrue,则该用户具有只读权限。否则,如果两个值均为true,则该用户具有读写权限。好!

我尽力解释这一点,我真的希望你能理解我的答案。我真的... !!! 我的建议是,你应该先尝试这种方法。而且,如果您对此有所了解,我可以解释更多如何从此方法设置组级别权限。好!因为我的答案变得很长,我担心你会厌倦读这个...... ;-)