---
order: 3
---
# public目录和匿名用户

系统中常会有一些公开资源开放给所有人看，比如：登录、账号注册、密码重置、问卷调查等。SuccBI提供了两种开放资源方式：

\[\[toc]]

## public 目录{#public}

SuccBI定义在项目下级目录`public`（比如：`/DEMO/public`）和应用下级目录`public`（比如：`/DEMO/app/demo.app/public`）下的资源为公开资源。

1. 任何用户（无论是登录了还是没登录）都可以查看这些资源。
2. 这个目录不能被分配权限，也就不能限制资源展示数据的范围。所以在编辑资源的时候就需要控制好数据范围，避免泄露重要数据。
3. 只有项目管理员或者应用管理员才能修改或添加资源。

:::tip
**public目录**提供了比较简单的开放资源管理，仅要求放到public目录下，但也无法做更细致的权限控制，适用于存放分类单一并且不需要细致把控的资源。
:::

## 匿名用户{#anonymous}

匿名用户本质上是未登录的用户在访问SuccBI系统时，系统给加上的一样身份定义。特点有：

1. 可被分配权限，并且可以限定访问的数据范围。针对用户组名为`anonymous`的用户分配的权限，将被作用到匿名用户上，[权限分配参考](../groups.md#assign-permissions)。
2. 在SuccBI系统中会认为是已登录状态，在[自定义脚本](../../dev/script/backend/README.md)中进行登录判断的时候需要注意这一点。
3. 在没有权限访问系统首页的时候，会跟正常登录用户一样，根据已经拥有的权限去定位到有权限访问的位置。

:::tip

1. **匿名用户**提供更为开放的管理方式，适用于对公开资源展示有细致把控的情况。
2. 在设置系统首页的表达式中可以通过`$user.anonymous`来判断是不是使用匿名用户登录的。
3. 系统默认关闭匿名用户功能，打开设置请参考：**系统设置**>**安全**>**安全设置**>**登录安全**>**用户登录**>**[匿名用户](../../sys-settings/security/securityconf.md#login-user)**。

:::
