2015-06-13 59 views
3

如果您有自己的数据库和BAL(业务访问层),并且不想使用DefaultConnection和模板ASPNET数据库表,但我自己的用户表,该怎么办?MVC5登录到自定义数据库

如何使用自定义数据库?

的ConnectionString:

public class AppDbContext : IdentityDbContext<AppUser> 
{ 
    public AppDbContext() : base("DefaultConnection") 
    { 
    } 
} 

的Web.config

<add name="DefaultConnection" 
    connectionString="Data Source=(LocalDb)\v11.0; 
        AttachDbFilename=|DataDirectory|\NakedIdentity-Mvc.mdf; 
        Initial Catalog=NakedIdentity-Mvc;Integrated Security=True" 
    providerName="System.Data.SqlClient" /> 

回答

5

良好来源可以自定义你的表,你的存储和你的类。
这个过程并不简单,只需要一点点工作就可以做到。 几天前我已经回答了类似的问题。
你可以找到它here

你可以在github上找到一个project,我试着自定义所有涉及认证/授权过程的表。

这是另一个answer,您可以在其中阅读关于为您的用户和角色使用不同存储的更多信息。

+0

非常感谢很多 – radbyx

+0

很高兴我帮助过,在某种程度上:-)干杯。 – LeftyX

1

你总是可以指定你想谈的数据库 - 这实际上是连接字符串配置的想法。您需要以这种方式更改connectionString属性,该属性将指向您想要的数据库。

下面是有关connection strings

+0

但我的上下文是MVC 5和OWIN“个人用户帐户”他们给了包含标识数据库的模板,使用了一些特定的表格。我自己的餐桌需要什么? – radbyx

+1

如果您想在自定义数据库中使用.net身份提供程序模型,则需要根据身份提供程序合同更新数据库模式。它需要诸如'user','userroles','userlogins','userclimes','roles'这样的表格(当然有特定的colums),这里http://www.asp.net/identity/overview/extensibility/implementing- a-custom-mysql-aspnet-identity-storage-provider你会发现很好的例子。 – tutok

+0

感谢它更有意义。这只适用于现有dB,仅适用于新创建的dB? – radbyx