Прокси Реверса Apache2 к конечной точке, которая требует BasicAuth, но хочет скрыть это от пользователя

Я бы разделил эту таблицу на две таблицы. Один для Cat1 и один для Cat2 с внешним ключом для Cat1. Таким образом, у вас не будет много повторяющихся записей Cat1, и вы можете легко сопоставить Cat2 с правильным Cat1.

Это сделает его «один ко многим» между Cat1 и Cat2.

Я бы не беспокоился о том, какие именно значения Id, поскольку это не имеет значения.
Важнее отображение, а также то, что ваши индексы настроены правильно.

Итак, что-то вроде этого я представляю:

Category 1:
ID  CategoryLevel1Name 
1   PC
2   Laptop
3   Mac

Category 2:
ID  CategoryLevel1Id CategoryLevel2Name 
1   1                AllInOne
2   1                Classic PC
3   2                NetBook
4   2                Class Laptop
5   3                MacBook Pro

public class Category1
{
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int Id { get; set; }
    public string CategoryLevel1Name { get; set; }

    public ICollection<Category2> Category2s { get; set; }
}

public class Category2
{
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int Id { get; set; }
    public int CategoryLevel1Id { get; set; }
    public string CategoryLevel2Name { get; set; }

    [ForeignKey("CategoryLevel1Id ")]
    public Category1 Category1 { get; set; }
}

Отказ от ответственности: код не проверен.

20
задан Community 23 May 2017 в 12:09
поделиться

1 ответ

Добавьте или перезапишите заголовок Авторизации перед передачей любого запроса к конечной точке. Заголовок авторизации может быть трудно кодирован, это - просто кодировка Base 64 строки "username:password" (без кавычек.)

Включают mod_headers модуль если не уже сделанный.

RequestHeader set Authorization "Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ=="

Для выполнения этого условно включите mod_setenvif, например, все еще попросите основной пароль в случае локальных запросов:

SetEnvIf Remote_Addr "127\.0\.0\.1" localrequest
RequestHeader set Authorization "Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==" env=!localrequest

ПРИМЕР

# ALL remote users ALWAYS authenticate against reverse proxy's
#  /www/conf/passwords database
#
<Directory /var/web/pages/secure>
  AuthBasicProvider /www/conf/passwords
  AuthType Basic
  AuthName "Protected Area"
  Require valid-user
</Directory>

# reverse proxy authenticates against master server as:
#  Aladdin:open sesame (Base64 encoded)
#
RequestHeader set Authorization "Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ=="
24
ответ дан 30 November 2019 в 00:48
поделиться
Другие вопросы по тегам:

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