2015-02-12 1 views
1


Мне сложно реализовать (или интегрировать) ASP.NET SimpleMembershipProvider. У меня уже есть таблицы базы данных из предыдущей версии приложения, и я не хочу создавать новые пользовательские таблицы, роли и т. Д. Я хочу использовать существующие таблицы (уже сопоставленные с инфраструктурой сущностей), чтобы пользователи в база данных может войти в будущее приложение. Вот что я сделал:
Web.configИнтеграция SimpleMembershipProvider в ASP.NET MVC-приложение

<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" /> 

Global.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' 

Th anks вы за свою помощь :)

ответ

2

Вы видите это исключение, поскольку SimpleMembershipProvider внутренне использует эти имена таблиц. К сожалению, они не переопределяются (до тех пор, пока я не использовал его).

Цель проекта с SMP заключалась в том, чтобы предоставить из готовой рабочей модели членство с собственной схемой таблицы. Вы можете настроить имя таблицы пользователя и добавить больше столбца, но не все.

См. this вопрос для получения дополнительной информации.

+0

Похоже, я сам сделаю всю работу :(Спасибо – Fourat

 Смежные вопросы

  • Нет связанных вопросов^_^