我希望有人可以就如何实现第二个数据库来处理用户角色和密码给我一些建议。包含我站点的所有应用程序数据的SQL数据库架构无法以任何方式进行修改。它确实维护一个包含一些用户信息的表,但没有密码和角色/访问级别。我希望这个表是主表,并在另一个数据库中有第二个表维护每个用户的所有登录和角色信息。我如何在我的asp.net-MVC网站上实现它?
答案 0 :(得分:1)
看一下ASP.NET身份。
http://www.asp.net/identity/overview/getting-started/introduction-to-aspnet-identity
以下内容也应该有所帮助:
http://benfoster.io/blog/aspnet-identity-stripped-bare-mvc-part-1
http://benfoster.io/blog/aspnet-identity-stripped-bare-mvc-part-2
答案 1 :(得分:0)
所以我真正遇到的问题是,当我尝试注册或登录时,我会得到SQLServer错误 - 50.它永远不会像它应该拥有的那样创建数据库。最后我找到了这个链接,它解决了我的问题,SQL Server Express WebLog
至于使用两个不同的数据库,我只需要web.config中的两个连接字符串,以及两个不同连接的两个DBcontext类。
对于用户数据:
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext()
: base("DefaultConnection")
{
}
}
并且对于所有应用程序数据:
public partial class SomeEntities : DbContext
{
public SomeEntities()
: base("name=SomeEntities")
{
}
}
和web.config文件:
<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\aspnet-SomeScheduler-20150310115216.mdf;Initial Catalog=aspnet-SomeScheduler-20150310115216;Integrated Security=True" providerName="System.Data.SqlClient" />
<add name="SomeEntities" connectionString="metadata=res://*/Models.Q-MakModel.csdl|res://*/Models.SomeModel.ssdl|res://*/Models.SomeModel.msl;provider=System.Data.SqlClient;provider connection string="data source=FileServer;initial catalog=SomeDATA;persist security info=True;user id=id;password=idp;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
</connectionStrings>