40 lines
1.0 KiB
Markdown
40 lines
1.0 KiB
Markdown
```
|
|
<meta name="_csrf" content="ee4476e9-8a3c-4c72-b263-fe5d8f3ad18c">
|
|
<meta name="_csrf_header" content="X-CSRF-TOKEN">
|
|
```
|
|
|
|
```js
|
|
if (process.env.NODE_ENV == 'production') {
|
|
headers['X-Requested-With'] = 'XMLHttpRequest';
|
|
const _csrf_header = Dom.dom(Dom.query("meta[name='_csrf_header']")).attr('content');
|
|
const token = Dom.dom(Dom.query("meta[name='_csrf']")).attr('content');
|
|
if (_csrf_header && token) {
|
|
headers[_csrf_header] = token;
|
|
}
|
|
} else {
|
|
headers['X-CSRF-TOKEN'] = await XTOKEN();
|
|
}
|
|
```
|
|
|
|
```
|
|
x-csrf-token:ee4476e9-8a3c-4c72-b263-fe5d8f3ad18c
|
|
```
|
|
|
|
production 是生产。
|
|
|
|
下边是开发环境,会走 `/admin/getCurrentUser` 实际是后端的 `/getCurrentUser`
|
|
|
|
后台会
|
|
|
|
```java
|
|
CsrfToken csrfToken = (CsrfToken) request.getSession().getAttribute(IBSCsrfTokenRepository.class.getName().concat(".CSRF_TOKEN"));
|
|
if (csrfToken != null) {
|
|
userVO.setCsrfToken(csrfToken.getToken());
|
|
}
|
|
```
|
|
|
|
```
|
|
c23b84266a894c68b336073c7a185edd
|
|
acc94df0fbbc482ca535edb1e52e5b09
|
|
```
|