2015-05-21 3 views
1

Мне нужно создать одностраничное приложение, поддерживающее аутентификацию. У нашего бизнеса уже есть служба аутентификации.OWIN custom Authentication Service

Я просто не знаю с чего начать.

Сценарий:

Пользователь пытается получить доступ к защищенному метод в контроллере:

[Authorize] 
public class MeController : Controller 

Поскольку он не вошел в систему, он перенаправляется на страницу входа в систему:

[HttpPost] 
     [AllowAnonymous] 
     [ValidateAntiForgeryToken] 
     public async Task<ActionResult> Login(LoginViewModel model, string returnUrl) 
     { 
      if (ModelState.IsValid) 
      { 
       //Call business authentication service 
       if (GetClient().OpenSession(model.username, model.password)) 
        // Set Cookie? Implement some Owin interfaces? 
      } 
      // If we got this far, something failed, redisplay form 
      return View(model); 
     } 

Как вы можете видеть, это под открытием, что мне нужно что-то сделать для создания файла cookie или ... ??

Кроме того, поскольку мы хотели бы использовать аутентификацию Facebook и Google OWIN, я думал, что смогу реализовать свои собственные классы OWIN?

Таким образом, идея состоит в том, чтобы не использовать SQL SERVER или любую другую базу данных для хранения информации о пользователях. Просто позвоните в нашу службу?

Что делать?

ответ

1

Вот ссылка, что вы должны начать с использованием Owin для аутентификации https://msdn.microsoft.com/en-us/magazine/dn745860.aspx

Перед тем, как начать знакомство с HWO Owin работает. Также будьте осторожны, что OWIN не поддерживает вход в cookie-less, но, с другой стороны, он поддерживает заявки, которые больше, чем просто поставщик роли.

Предварительно разработанная OAuth реализация OWIN для Facebook, Google на странице Katana codeplex. Также, если вы хотите интегрировать больше поставщиков here - проект github, который разработал почти все поставщики OAuth.

Удачи!