Для аутентификации и авторизации Sureness требуется источник данных, например: данные ролей, данные пользователей и т.д.
Источник данных может загружаться из файла .txt, базы данных или без использования базы данных и т.д.
Мы предоставляем интерфейсы SurenessAccountProvider
, PathTreeProvider
для того, чтобы пользователи могли реализовать загрузку данных из выбранного ими источника данных.
Кроме того, мы предлагаем умолчательную реализацию источника данных, которая загружает данные из файла .txt (sureness.yml), где пользователи могут указать свои данные в sureness.yml.
Пример:
## -- документация источника данных sureness.yml -- ##
# загружает API-ресурс, который требует защиты, конфигурирует роли, имеющие доступ к этим ресурсам.
# ресурсы, которые не были указаны, также проверяются и защищаются по умолчанию, но не авторизуются
# пример: /api/v2/host===post===[role2,role3,role4] означает, что /api/v2/host===post можно получить ролью role2, role3, role4
# пример: /api/v1/getSource3===get===[] означает, что /api/v1/getSource3===get нельзя получить ни одной ролью
resourceRole:
- /api/v2/host===post===[role2,role3,role4]
- /api/v2/host===get===[role2,role3,role4]
- /api/v2/host===delete===[role2,role3,role4]
- /api/v2/host===put===[role2,role3,role4]
- /api/mi/**===put===[role2,role3,role4]
- /api/v1/getSource1===get===[role1,role2]
- /api/v2/getSource2/*/*===get===[role2]
- /api/v1/source1===get===[role2]
- /api/v1/source1===post===[role1]
- /api/v1/source1===delete===[role3]
- /api/v1/source1===put===[role1,role2]
- /api/v1/source2===get===[]
- /api/v3/source===*===[role2]
```# Загружает API-ресурсы, которые не требуют защиты, то есть они должны быть исключены.
# Эти API-ресурсы могут быть получены всеми пользователями
excludedResource:
- /api/v3/host===GET
- /api/v3/book===GET
- /api/v1/account/auth===POST
- /**/*.html===GET
- /**/*.js===GET
- /**/*.css===GET
- /**/*.ico===GET
- /**/*.png===*
# Информация аккаунта
# Существует три аккаунта: admin, root, tom
# Пример: У аккаунта admin есть роли [role1,role2], незашифрованный пароль "admin", зашифрованный пароль "0192023A7BBD73250516F069DF18B500"
# Пример: У аккаунта root есть роль role1, незашифрованный пароль "23456"
# Пример: У аккаунта tom есть роль role3, незашифрованный пароль "32113"
account:
- appId: admin
# Если используется соль, то пароль является зашифрованным паролем - результат: MD5(пароль + соль)
# Digest auth не поддерживает зашифрованный пароль
# Если нет соли, то пароль является незашифрованным паролем
credential: 0192023A7BBD73250516F069DF18B500
salt: 123
role: [role1,role2]
- appId: root
credential: 23456
role: [role1]
- appId: tom
credential: 32113
role: [role3]
Если данные конфигурационного ресурса берутся из текста, обратитесь к [примеру программы из 10-минутного туториала -- sample-bootstrap](sample-bootstrap.md)
Если данные конфигурационного ресурса берутся из базы данных, обратитесь к [примеру программы из 30-минутного туториала -- sample-tom](sample-tom.md)
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )