Ответы пользователя по тегу Проектирование программного обеспечения
  • ASP.NET Custom Authentication Service + OWIN или ASP.NET Identity 2.0?

    artem_b89
    @artem_b89
    Сетевой бездельник
    1) Достаточно
    2) В Identity реализован базовый функционал работы с пользователями/ролями и т.д., возможность подключения авторизации через стороннии сервисы.
    Если нужна простейшая аутентификация/авторизация, то Identity в целом не нужен, достаточно будет найти в DAL пользователя с указанными логином и паролем и авторизовать его.
    Псевдокод:
    public User Validate(string login, string secret)
    {
      return DbContext.Users.FirstOrDefault(x=>x.login == login && secret == secret );
    }  
    public async void SignIn(User user)
    {
    	List<Claim> claims = new List<Claim>();	
    	claims.Add(new Claim(ClaimTypes.Name, user.Name));
    	ClaimsIdentity identity = new ClaimsIdentity(claims, CookieAuthenticationDefaults.AuthenticationScheme);
    	ClaimsPrincipal principal = new ClaimsPrincipal(identity);
    	await HttpContext.Authentication.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, principal);
    }
    public async void SignOut()
    {
      await HttpContext.Authentication.SignOutAsync(CookieAuthenticationDefaults.AuthenticationScheme);
    }

    Вся остальная логика работы с пользователями и ролями пишется достаточно легко. Вопрос только в том нужно ли городить свой велосипед.
    Ответ написан
    1 комментарий