| |
| ## 基于 Basic 认证的资源接口请求方式 |
| |
| 采用 Basic 认证,对 API 资源接口进行访问控制 |
| |
| |
| ### 项目配置 |
| |
| 1、在 client 项目的 application.yml 中新增配置 |
| |
| |
| ``` |
| infras.security.api.basic.enabled: true |
| ``` |
| |
| 若要禁用则,注释掉配置 或 修改为 false |
| |
| |
| 2、在 ClientApplication(项目启动类)中,添加注解 @EnableInfrasApiSecurity |
| |
| 注,不能同时存在 注解 @EnableInfrasOAuth2 |
| |
| |
| |
| ### 请求 API 资源接口 |
| |
| 请求地址:/api/user |
| |
| 请求头: |
| `Authorization,认证头,Basic <user:password 的 base64 编码>` |
| 示例(user:password 为 admin:111111): |
| `Authorization: Basic YWRtaW46MTExMTEx` |
| |
| 请求示例: |
| ``` |
| curl -i -s -X GET -H "Authorization: Basic YWRtaW46MTExMTEx" "http://localhost:8080/api/user" |
| ``` |
| 注: |
| -H "Authorization: Basic YWRtaW46MTExMTEx" 为请求头参数 |
| |
| |
| 响应结果: |
| ``` |
| { |
| "password":null, |
| "username":"admin", |
| "authorities":[{"authority":"ROLE_ADMIN"},{"authority":"administrator"},{"authority":"user"}], |
| "accountNonExpired":true, |
| "accountNonLocked":true, |
| "credentialsNonExpired":true, |
| "enabled":true |
| } |
| ``` |