Аутентификация с использованием другой базы данных с помощью EF вместо базы данных приложения - PullRequest
1 голос
/ 19 марта 2019

Постановка проблемы У меня запущено несколько приложений, и потенциальные пользователи одинаковы для обоих приложений, поэтому сейчас им нужно зарегистрироваться в обоих приложениях по отдельности и создать пароль для обоих.

Если кто-то забыл пароль или кто-то хочет сбросить его / ее пароль, он должен выполнить действие в обоих приложениях.

Что я хочу?

Я хочу создать другую базу данных для аутентификации и хочу использовать эту базу данных для обоих приложений во время аутентификации пользователя.

Возможно ли использовать тот же подход? Я использую Entity Framework, как я могу использовать, чтобы открыть соединение с другой базой данных (Центральной БД).Есть ли какой-нибудь учебник или ссылка, которая может мне помочь?Какой должен быть лучший подход для реализации этого?

Мой текущий код

public ActionResult Login(Login login)
    {
        var result = user.FindUser(login.Email);
        if (result==null)
        {
            ViewData["Con"] = "IncorrectEmail";
            ViewBag.data = "login";
            return View();
        }
        if(result.Password==null || result.ConfirmPassword==null)
        {
            ViewData["Con"] = "PasswordNull";
            ViewBag.data = "login";
            return View();
        }
        var deptName = deptRepos.SelectByID(result.DepartmentID);
        var role = (roleRep.SelectByID(result.RoleID).RoleType).ToUpper();
        string pass = user.Decrypt(result.Password);


        if (login.Password.ToLower().Trim() != pass || login.Password==null)
        {
            ViewData["Con"] = "IncorrectPassword";
            ViewBag.data = "login";
            return View();
        }
        //System.Web.HttpContext.Current.Session["UserName"] = result.Name;
        System.Web.HttpContext.Current.Session["Email"] = login.Email;
        System.Web.HttpContext.Current.Session["Password"] = login.Password;
        System.Web.HttpContext.Current.Session["Department"] = deptName.Name;
        System.Web.HttpContext.Current.Session["DepartmentID"] = deptName.ID;
        System.Web.HttpContext.Current.Session["Designation"] = result.Designation;
        System.Web.HttpContext.Current.Session["Role"] = role;

Это моя веб-конфигурация

 <connectionStrings>
<add name="EmailConfiguration" connectionString="data source=.;    initial catalog=EmailConfiguration;persist security info=True; MultipleActiveResultSets=true;    Integrated Security=SSPI;" providerName="System.Data.SqlClient" />

Это текущий сценарий с одной БД.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...