如何将ASP.NET标识实现到空的MVC项目

时间:2014-03-08 18:31:42

标签: asp.net-mvc asp.net-identity

我创建了一个新的空MVC项目,我想为其添加标识。 现在我不知道如何做到这一点以及如何创建数据库和表和类。 我搜索了但是我没有找到任何有用的解决方案来解决我的问题,我找到了一篇文章,用于将ASP.NET身份添加到现有的空ASP.NET网站,但是对于我没有找到的ASP.Net MVC项目。登记/> 登录
登记表格
用于将用户添加到角色中 删除用户
如何在我自己的数据库中创建表
如何管理用户

4 个答案:

答案 0 :(得分:69)

答案 1 :(得分:7)

转到:

打开nuget包管理器
Tools > Nuget Package Manager > Package Manager Console

在一个新项目 [1] 。从那里,您可以在PM>

旁边输入
Install-Package Microsoft.AspNet.Identity.Samples -Pre 

将为您安装Identity示例。它会询问您是否允许它通过按“A”来改变您的webconfig,您接受所有更改。

从那时起,您将安装样本标识项目!

注意:它会更改默认命名空间,因此通过“查找和替换”,您可以快速更改项目名称的出现次数(注意,您可能需要进入我的global.aspx页面documents文件夹 - 在记事本中打开它并在那里更改命名空间!)


[1] :如果您在开发开始时没有这样做,您会发现以下文件将被覆盖(因此请确保您有办法合并您的原件与新的):

Overwrite existing file 'Views\Web.config'.
Overwrite existing file 'Views\Shared\Error.cshtml'.
Overwrite existing file 'Views\Shared\_Layout.cshtml'.
Overwrite existing file 'Views\Home\Index.cshtml'.
Overwrite existing file 'Views\_ViewStart.cshtml'.
Overwrite existing file 'Global.asax.cs'.
Overwrite existing file 'Global.asax'.
Overwrite existing file 'Controllers\HomeController.cs'.
Overwrite existing file 'Content\Site.css'.
Overwrite existing file 'App_Start\RouteConfig.cs'.
Overwrite existing file 'App_Start\FilterConfig.cs'.
Overwrite existing file 'App_Start\BundleConfig.cs'.

答案 2 :(得分:0)

以下文章向您介绍了向应用程序添加ASP.NET标识的基础知识。 http://www.asp.net/identity/overview/getting-started/adding-aspnet-identity-to-an-empty-or-existing-web-forms-project

答案 3 :(得分:0)

您可以从NuGet库中集成ASP.NET Identity。您可以使用NuGet包管理器控制台安装这些包,如下所示:

安装包Microsoft.AspNet.Identity.EntityFramework -Version 2.2.1

安装包Microsoft.AspNet.Identity.Core -Version 2.2.1

安装包Microsoft.AspNet.Identity.OWIN -Version 2.2.1

除此之外,您只需使用默认模板创建一个单独的MVC项目,并在其中将实现ASP.NET标识的类和方法作为参考,以便在新项目中使用这些类。

如果您正在使用带有数据库第一种方法的Entity Framework的现有数据库,那么为ASP.NET标识创建单独的连接字符串和数据上下文。在使用ASP.NET标识时,使用提供程序System.Data.EntityClient的实体框架使用提供程序System.Data.SqlClient提供者var express = require('express'); var httpProxy = require('http-proxy'); var vhost = require('vhost'); var app = express(); var proxy = httpProxy.createProxyServer(); app.get('/login', function(req, res) { var randomNumber=Math.random().toString(); randomNumber=randomNumber.substring(2,randomNumber.length); var expireDate = new Date(); expireDate.setDate(expireDate.getDate() + 1); res.cookie('auth', randomNumber, { maxAge: 90000000, domain: 'localhost', httpOnly: false }); console.log('cookie created successfully'); res.send('Login successful'); }); app.use('/api', function(req, res) { req.headers[ 'Authorization' ] = 'Basic dXNlcjpwYXNzd29yZA=='; console.log("Request cookies: " + req.cookie); proxy.web(req, res, { target: 'restApiTarget' }); }); // ST application app.use(vhost('st.localhost', express.static('./st'))); // ACM application app.use(vhost('acm.localhost', express.static('./acm'))); app.listen(8080, function () { console.log('Fweb server running on port 8080!'); });