【问题标题】:Integrating SimpleMembershipProvider in ASP.NET MVC Application在 ASP.NET MVC 应用程序中集成 SimpleMembershipProvider
【发布时间】:2015-02-12 10:32:56
【问题描述】:


我很难实现(或集成)ASP.NET SimpleMembershipProvider。我已经拥有应用程序早期版本的数据库表,我不想创建新的用户表、角色等...我想使用现有表(已经映射到实体框架),因此数据库可以登录到未来的应用程序。这是我所做的:
网页配置

<authentication mode="Forms">
      <forms loginUrl="~/Auth" timeout="2880" />
    </authentication>

    <membership defaultProvider="SimpleMembershipProvider">
      <providers>
        <clear />
        <add name="SimpleMembershipProvider" type="WebMatrix.WebData.SimpleMembershipProvider, WebMatrix.WebData" />
      </providers>
    </membership>
    <roleManager enabled="true" />

全球.asax

WebSecurity.InitializeDatabaseConnection("MyConnectionString", "tblCreds", "IdCred", "Login", false); 
// I put false in the end because I don't want it to create new tables

控制器:

[HttpPost]
public ActionResult Index(UserCreds creds)
        {
            if (ModelState.IsValid)
            {
                UserBLL bll = new UserBLL();
                BaseUser authUser = bll.Authenticate(creds.Login, creds.Password);
                if (authUser != null)
                {
                    WebSecurity.Login(creds.Login, creds.Password);
                    return RedirectToAction("Index", "Home");
                }
            }
            ViewBag.ErrorMessage = "Error";
            return View();
        }

我得到了这个例外:

System.Data.SqlClient.SqlException: Invalid object name 'webpages_Membership'

感谢您的帮助:)

【问题讨论】:

    标签: c# asp.net asp.net-mvc asp.net-mvc-4 membership-provider


    【解决方案1】:

    您会看到该异常,因为 SimpleMembershipProvider 在内部使用这些表名。不幸的是,它们不可覆盖(直到我上次使用它)。

    SMP 的设计目标是提供一种开箱即用的成员关系工作模型,并拥有自己的表架构。您可以配置用户表名称并添加更多列,但不是全部。

    有关详细信息,请参阅this 问题。

    【讨论】:

    • 看起来我要自己完成整个工作:(谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-09
    • 2017-12-30
    相关资源
    最近更新 更多