在Asp.net MVC4 中使用SimpleMembershipProvider
一、创建MVC4项目
运行Visual Studio Express 2012 for Web,新建ASP.NET MVC4 Web 应用程序,命名为“Demo”,选择空模版。这样就创建了一个干净的MVC4应用程序。
二、添加引用
在项目引用上右键,选择“添加引用”打开引用管理器。在“程序集:扩展”中勾选“WebMatrix.Data”和“WebMatrix.WebData”,版本均为“2.0.0.0”,点击“确定”将这两个程序集引用到项目中。
三、配置数据库
首先在项目App_Data文件夹中添加一个Sql Server数据库文件,命名为"DemoDB"。然后打开web.config文件,在<configuration>节点下添加一个connectionString:
<connectionStrings> <add name="DemoDB" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|DemoDB.mdf;Integrated Security=True" providerName="System.Data.SqlClient" /> </connectionStrings>
四、配置SimpleMembershipProvider
修改Global.asax文件中的Application_Start方法,注意在该文件中添加对WebMatrix.WebData命名空间的引用。
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); WebApiConfig.Register(GlobalConfiguration.Configuration); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); //添加下列代码
WebSecurity.InitializeDatabaseConnection("DemoDB", "Users", "UserId", "UserName", true); }
程序会在启动时执行WebSecurity.InitializeDatabaseConnection()方法,加载SimpleMembershipProvider。
五、设置登录页面
打开web.config文件,在<system.web>节点下添加authentication设置
<authentication mode="Forms"> <forms loginUrl="~/Account/Login" timeout="20"/> </authentication>
如果用户没有访问某页面的权限,程序将自动跳转到"~/Account/Login"。同时,这里还把登录后的超时时间设置为20分钟。