Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.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
现有数据库架构中的ASP.NET用户帐户_Asp.net_Sql Server 2008_Membership Provider - Fatal编程技术网

现有数据库架构中的ASP.NET用户帐户

现有数据库架构中的ASP.NET用户帐户,asp.net,sql-server-2008,membership-provider,Asp.net,Sql Server 2008,Membership Provider,首先:使用SQL Server 2008的ASP.NET Web应用程序项目 我继承了一个古老的数据库,它有一个名为Security的表,用于存储用户帐户。各栏分别为: ID、名称、用户名、密码和访问级别 access_level包含一个1到3的整数值,用于指定对web应用程序某些部分的访问权限。这些范围从1=用户,2=超级用户,3=管理员。我需要一些用户查看一些信息,为其他人隐藏信息,并根据此访问级别使其对其他人可见+可编辑 我熟悉较旧的ASP.NET,因此对提供程序模型不熟悉。根据我目前所读

首先:使用SQL Server 2008的ASP.NET Web应用程序项目

我继承了一个古老的数据库,它有一个名为Security的表,用于存储用户帐户。各栏分别为:

ID、名称、用户名、密码和访问级别

access_level包含一个1到3的整数值,用于指定对web应用程序某些部分的访问权限。这些范围从1=用户,2=超级用户,3=管理员。我需要一些用户查看一些信息,为其他人隐藏信息,并根据此访问级别使其对其他人可见+可编辑

我熟悉较旧的ASP.NET,因此对提供程序模型不熟悉。根据我目前所读到的内容,我可以:

1) 创建一个自定义的MembershipProvider和RoleProvider并使用它们

2) 创建我自己的登录系统,使用隐藏的文本字段保存数据


实现这一点的最佳方式是什么?我开始编写一个自定义的成员资格提供程序,但对于这样一个简单的模式来说,这似乎有些过头了。必须有一个更简单的方法来实现这一点。欢迎提供任何建议或澄清。

您可以为登录或注册模块创建自定义控件。它可能很容易理解和调试。此外,当会员将要登录时,您可以检查访问级别并授予访问权限。

如果您不需要根据授权角色限制页面,您只需使用

// After custom validation
FormsAuthentication.SetAuthCookie(username, false);
但是,如果您想根据授权角色(在web.config中)限制页面,我建议实现自定义MembershipProvider和RoleProvider

您只需要重写以下方法

会员资格提供商

public override bool ValidateUser(string username, string password)

public override MembershipUser GetUser(string username, bool userIsOnline)
角色提供者

public override bool IsUserInRole(string username, string roleName)

public override string[] GetRolesForUser(string username)