“Состояние HTTP 401: Доступ запрещен” ошибка для веб-сервиса, даже когда виртуальный каталог предоставляет Анонимный доступ

Я делаю это так:

import {Entity, model, property} from '@loopback/repository';

const crypto = require('crypto');

@model()
export class User extends Entity{    

  [...]

  @property({
    type: 'string',
    required: false
  })
  private hashedPassword: string;

  @property({
    type: 'string'
  })
  private salt: string;

  set password(password: string){
    if(!this.salt || !this.salt.length){
      this.salt = crypto.randomBytes(32).toString('hex');
    }
    this.hashedPassword = this.encryptPassword(password);
  }

  private encryptPassword(password: string) {
    return crypto.pbkdf2Sync(password, this.salt, 10000, 512, 'sha512').toString('hex');
  };

  public checkPassword(password: string) {
    return this.encryptPassword(password) === this.hashedPassword;
  };
}
5
задан Gnot 28 October 2008 в 01:29
поделиться

5 ответов

Удостоверьтесь, что Ваши полномочия каталога также установлены позволить всем доступ для чтения. Много времен, делая локальную работу dev, я буду, забыло, что получаемый доступ каталог имеет отдельный набор полномочий, которые должны быть изменены.

Удачи!

2
ответ дан 18 December 2019 в 13:20
поделиться

Вы сделали, пробуют ООН, выбирающую позволение iis к паролю управления несколько раз, которые выходят из приемника.

попробуйте сайт, и он может работать. необходимо смочь повторно включить управление после этого

0
ответ дан 18 December 2019 в 13:20
поделиться

Попробуйте следующее (отметьте штуку PreAuthenticate):

MyObject.WebService ws = new MyObject.WebService(); 
ws.PreAuthenticate = true;
response = ws.Retrieve(someParams);

Для более подробного объяснения, почему это может работать, можно сослаться на следующий ответ здесь http://social.msdn.microsoft.com/Forums/en-US/asmxandxml/thread/3ae9753d-2d97-45b9-9ba2-6d551fe60a48/.

0
ответ дан 18 December 2019 в 13:20
поделиться

Вот хорошая ссылка при диагностировании 401 ошибки.

От этого одно место для запуска смотрит на учетные данные, которые Вы настраиваете для анонимного пользователя. Если они будут неправильными (если, возможно, пароль пользователя был изменен в другом месте), Вы получите HTTP 401.

11
ответ дан 18 December 2019 в 13:20
поделиться

Я думаю, что могло бы происходить, то, что Вы получаете 401 - отклоненное разрешение, но относительно кого к разрешению отклоняют, неясно. Я предполагаю эту точку, Вы проверили полномочия NTFS на машине и подтвердили, что у Вас действительно есть доступ.

Затем я посмотрел бы, в какой учетной записи пул приложений использует. Если это будет установка по умолчанию, то это, вероятно, будет Учетная запись Сетевой службы NT. Если это так, подтвердите, что учетная запись действительно имеет доступ к каталогу приложения. Если это также имеет место, это могла бы, возможно, быть настройка безопасности COM +. По умолчанию Ваша учетная запись сетевой службы не имеет разрешения удаленно запустить компоненты. Если это верно, Вы будете видеть ошибки в системе и журнале безопасности, в котором будут сказаны вещи ссылка, "Не могущий запустить компонент"

Рассмотрение файлов журнала IIS и системы и журналов событий безопасности на iis сервере часто приводит к большему количеству подсказок.

Надежда это помогает Наилучшим пожеланиям Rihan Meij

0
ответ дан 18 December 2019 в 13:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: