2012-02-13 34 views
1

我期待开发一个应用程序,它将有三种不同类型的用户,登录时它们将是类型1,2或3.我需要用户类型1才能够以创建类型2和3的帐户。Web应用程序的三种不同类型的用户

是使用角色进行此操作的最佳方法吗?如果有的话,任何人都可以给我一篇能够帮助我的文章,但我目前在尝试解决如何拥有一定数量的帐户并且只让他们登录系统时遇到困难,然后一旦他们登录,他们就可以只能以他们的帐户类型访问和修改数据库。

回答

2

这听起来像你的应用程序将是一个很好的候选人使用内置的会员和角色提供商。通过使用内置的提供程序,您可以节省重新发明轮子。看看从以下页面的链接:

ASP.NET 2.0 Membership and Roles Tutorial Series

1
  • 在用户表中添加一个用户类型列。
  • 当每个用户登录时,将他的用户详细信息存储在会话中。
  • 检查UserType的值并显示/隐藏指向编辑/创建 用户帐户的链接。

如果您想要做更广泛和更灵活的事情,您可以创建角色表,权限表和存储每个角色的权限的表。您可以将角色与用户相关联。

1

您应该使用ASP.net中的内置成员资格。它已经考虑了所有的安全考虑因素,并且可以很好地运行。这里是直接在asp.net网站上的会员指南。

http://www.asp.net/web-forms/tutorials/security/membership/creating-the-membership-schema-in-sql-server-cs

使用.NET的内置会员,你将能够实现一个非常强大的成员与内置的用户和角色(和一堆其他的东西)的支持。

+0

谢谢,角色和会员之间的区别是什么? – rx432 2012-02-13 19:30:12

+0

角色是成员身份的一部分。在基本级别你有用户,每个用户可以属于1个或几个角色。 – 2012-02-13 19:32:05

1

这个最好的方法是使用现成的供应商框架ASP.Net

角色提供处理角色(明显)。您可以通过从RoleProvider派生使自己:

http://msdn.microsoft.com/en-us/library/system.web.security.roleprovider.aspx

或使用基于SQL Server上的现成的一个

http://msdn.microsoft.com/en-us/library/system.web.security.sqlroleprovider.aspx

这同样适用于用户(请参阅MembershipPrioviderhttp://msdn.microsoft.com/en-us/library/system.web.security.sqlmembershipprovider.aspx

还有一些基于Active Directory的Intranet应用程序。

然后,您可以根据应用程序的角色限制对应用程序中的页面的访问。例如,如果您使用的是ASP.Net MVC,则可以使用AuthorizeAttribute类 获取某些详细信息。

+0

感谢您的详细回复,您认为ASP.NET MVC最适合这种类型的应用程序吗? – rx432 2012-02-13 19:32:07

+0

那么,你没有指定你的应用程序的很多细节,但我发现MVC是一个非常干净和简单的框架,导致非常可维护的代码。免责声明:我从来没有做过没有MVC的ASP.Net网络应用! – 2012-02-13 19:47:36

相关问题