> For the complete documentation index, see [llms.txt](https://pshizhsysu.gitbook.io/harbor/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://pshizhsysu.gitbook.io/harbor/rest-api/controller-api/base.md).

# base.go

## 结构体及函数

下面给出了BaseAPI的结构体定义及主要成员函数

```
type BaseAPI struct {
    beego.Controller
}

func (b *BaseAPI) ValidateUser() int { }

func (b *BaseAPI) GetUserIDForRequest() (int, bool, bool) { }
```

## ValidateUser()

* 描述：该函数用来验证该请求是否是由一个有效的用户发起
* 返回值：Header中用户名对应的ID

代码如下：

第（2）行代码中有三个返回值：

* userID：请求中解析出来的用户ID，可能来自basic，也可能来自session
* needsCheck：如果为true，表明userID来自session；否则来自basic
* ok：表示获取userID失败
