ASP.NET应用程序中的默认授权系统是否足够好?

时间:2011-08-08 21:27:27

标签: c# asp.net-mvc-3 asp.net-membership

我正在学习ASP.NET MVC 3来构建Web应用程序。我已经按照几个教程来教授实体框架,Razor,MVC等。但我发现的一件事是如何进行身份验证和授权。在我能找到的教程中,它基本上就是

  

创建“Internet应用程序”项目。授权系统已经存在,因此您不需要任何代码。现在使用ASP.NET设置面板设置用户角色并在任何地方拍打[Authorize]

我理解它启动的系统叫做ASP.NET Membership。为了您的授权,坚持使用它是否常见?

我一直在使用Code First来做模型和数据库 - 有没有办法创建自己的用户模型,让ASP.NET创建数据库,并将其用于成员资格?自定义用户模型有多难(例如,如果我希望某些用户角色将某些信息与其成员资格一起存储,而不是其他人)?

是否有任何教程详细介绍ASP.NET成员资格,而不仅仅是从项目模板吐出的内容开始?例如,在空项目中实现它?

2 个答案:

答案 0 :(得分:1)

这取决于您的应用程序的需求。您会发现提供的模型有一些限制,但如果您只需要基本的用户/角色管理,那么它就足够了。就我个人而言,我总觉得它有点太不灵活了,但是如果它能满足你建筑物的应用需求,不要浪费你的时间重新发明它。

希望这有帮助。

答案 1 :(得分:1)

您可以通过添加角色提供程序来扩展默认成员资格行为,该角色提供程序允许您将用户分组为一个或多个角色。

此外,您可以扩展用户的配置文件信息以存储其他信息(尽管不是特定于角色,因此所有配置文件都将具有用于特定于角色的信息的插槽)。请参阅ScottGu撰写的有关如何扩展个人资料的文章:http://weblogs.asp.net/scottgu/archive/2005/10/18/427754.aspx