系统学习MVC3+Linq搭建网站--如何利用系统自带的用户系统(2)

通过一个简单的文章系统学习MVC3+Linq搭建网站:

(1)数据库建模 (2012-03-23 12:10)

(2)如何利用系统自带的用户系统 (2012-03-28 22:41)

(3) 项目文件结构介绍 (2012-04-04 15:41)

源码   数据库创建sql   本示例DEMO

 

新建一个MVC3项目,如果我们选择了从Internet Application模板创建。在初始的项目文件中,除了基础的MVC框架外,系统还生成了一些用户系统相关的文件。我们试着操作,会发现注册以及登录都是可用的。如果我们的项目没有复杂的权限要求,仅仅需要一个简单的用户系统,基本上这已经能满足我们的需求,那么我们如何把它利用起来。

 ----------------------------------------------------------------------------------------------------------------

在VS2010中打开我们的项目文件。进入项目 ASP.NET配置界面。

点击 “安全”选项卡。可以看到我们刚才注册的用户信息。我们还可以在这里创建角色以及给角色分配用户。


现在,我们的疑问是 用户数据保存在哪里了?

进入页面右上角的 “如何使用此工具?”可以找到这些信息:

 

网站配置
网站配置设置存储在一个名为 Web.config 的 XML 文件中,该文件位于网站的根文件夹中。使用网站管理工具,不需要手动编辑 Web.config 文件就可以更改站点配置。首次使用网站管理工具来管理特定网站时,如果 Web.config 文件不存在,网站管理工具将创建该文件。默认情况下,网站管理工具还在网站的 App_Data 文件夹中创建一个数据库,用以存储应用程序服务数据,如成员资格和角色信息。对于大多数设置而言,在网站管理工具中进行的更改都将立即生效并反映在 Web.config 文件中。

 

“提供程序”选项卡
使用“提供程序”选项卡可以测试或指定网站的成员资格和角色管理的提供程序。数据库提供程序是为特定功能存储应用程序数据时所调用的类。默认情况下,网站管理工具配置并使用网站的 App_Data 文件夹中的本地 SQL Server Express 数据库。您也可以选择使用其他提供程序(如远程 SQL Server 数据库)来存储成员资格和角色管理

 

果然,在项目的App_Data目录下看到了数据库文件ASPNETDB,以及Web.config中对应的数据库连接字段ApplicationServices。

现在,我们不希望有多个数据库文件,我们需要把用户系统的数据库信息导入到我们的应用程序数据库中。

 

(1)打开VS2010 TOOLS下的VS命令提示工具

(2)输入aspnet_regsql

(3)

(4)你的应用程序数据库

 

(5)完成后回到我们的sql-server控制台,刷新数据库,会看到多了很多表,视图以及储存过程。

 

(6)修改web.config里的数据库连接字符串

 

(7)回到VS2010,进入项目 ASP.NET配置界面,创建测试用户,角色,以及用户角色分配。

(8)SQL-SERVER控制台中查看添加的用户记录:

 

用户系统在项目中的应用

 (1)[Authorize] //表示需要是用户
(2)[Authorize(Users/Roles = 允许账号/角色)]
(3)[Authorize(Roles = "role1 ,role2")]
(4)[Authorize(Users="admin", Roles = "role1")]

 

使用:把以上可能的特性根据需求加到你需要的Controller或者Action上方。

[Authorize(Roles="admin")]
public class ManageController : Controller{}

[Authorize(Roles="admin")]
public ActionResult Index() {  return View();}

posted on 2012-04-06 10:46  xiaogang_self  阅读(737)  评论(0)    收藏  举报

导航