CarefreeCMS 文档CarefreeCMS 文档
指南
  • 内容管理
  • 多站点管理
  • AI文章生成
  • SEO优化
  • 静态化生成
API
  • FAQ
  • 更新日志
  • 贡献指南
  • v1.3.0
  • v1.2.0
  • v1.1.0
GitHub
指南
  • 内容管理
  • 多站点管理
  • AI文章生成
  • SEO优化
  • 静态化生成
API
  • FAQ
  • 更新日志
  • 贡献指南
  • v1.3.0
  • v1.2.0
  • v1.1.0
GitHub
  • 功能特性

    • 内容管理
    • 多站点管理
    • AI 文章生成
    • AI 内容生成
    • SEO 优化
    • 静态化生成
    • 评论系统
    • 用户系统

用户系统

CarefreeCMS 提供完善的用户管理系统,支持前台用户注册、登录、个人中心等功能。

功能概览

用户注册

注册方式

  • 邮箱注册
  • 手机号注册
  • 第三方登录(微信、QQ、微博)
  • 管理员添加

注册配置

// config/user.php
return [
    // 允许注册
    'allow_register' => true,

    // 需要邮箱验证
    'email_verify' => true,

    // 需要手机验证
    'phone_verify' => false,

    // 默认用户组
    'default_group' => 'member',

    // 初始积分
    'init_points' => 100,
];

用户登录

登录方式

  • 用户名/密码
  • 邮箱/密码
  • 手机号/验证码
  • 第三方登录

安全设置

  • 登录失败次数限制
  • 验证码验证
  • 两步验证(可选)
  • 异地登录提醒

用户权限

用户组

  • 管理员
  • 编辑
  • VIP 会员
  • 普通会员
  • 游客

权限控制

  • 发布文章
  • 发表评论
  • 下载附件
  • 访问特定内容

前台用户中心

个人资料

基本信息

头像
昵称
性别
生日
所在地
个人简介

联系方式

邮箱
手机号
QQ
微信

账号安全

修改密码
绑定邮箱
绑定手机
两步验证
登录历史

我的内容

我的文章

  • 已发布
  • 草稿箱
  • 审核中
  • 已删除

我的评论

  • 全部评论
  • 收到的回复
  • 点赞的评论

我的收藏

  • 收藏的文章
  • 收藏的专题
  • 收藏夹管理

消息通知

消息类型

  • 系统通知
  • 评论回复
  • 点赞提醒
  • 关注提醒
  • 私信

消息设置

  • 邮件通知
  • 站内通知
  • 推送通知

后台用户管理

用户列表

用户管理 → 用户列表

列表字段

ID | 用户名 | 昵称 | 邮箱 | 用户组 | 状态 | 注册时间 | 操作

筛选条件

  • 用户组
  • 状态(正常/禁用)
  • 注册时间
  • 关键词搜索

添加用户

1. 点击"添加用户"
2. 填写用户信息
   - 用户名(必填)
   - 密码(必填)
   - 邮箱(必填)
   - 昵称
   - 用户组
   - 状态
3. 保存

编辑用户

可编辑内容

  • 基本信息
  • 联系方式
  • 用户组
  • 权限设置
  • 状态

不可编辑

  • 用户名
  • 注册时间
  • 注册IP

用户操作

启用/禁用

禁用用户:
- 无法登录
- 内容隐藏
- 评论不显示

重置密码

1. 编辑用户
2. 点击"重置密码"
3. 输入新密码
4. 保存

删除用户

删除选项:
- 保留内容(推荐)
- 删除所有内容

用户组管理

默认用户组

管理员(admin)

  • 最高权限
  • 管理所有内容
  • 系统设置

编辑(editor)

  • 发布文章
  • 审核内容
  • 管理评论

会员(vip)

  • 发布文章
  • 无广告
  • 特权内容

普通用户(member)

  • 发表评论
  • 收藏文章
  • 基本功能

创建用户组

1. 用户管理 → 用户组
2. 添加用户组
3. 设置基本信息
   - 组名
   - 标识
   - 排序
4. 分配权限
5. 保存

用户组权限

内容权限

☑ 发布文章
☑ 编辑文章
☑ 删除文章
☐ 审核文章
☑ 发表评论
☐ 删除评论

系统权限

☐ 用户管理
☐ 系统设置
☐ 插件管理
☐ 数据备份

特殊权限

☑ 访问 VIP 内容
☑ 无限下载
☑ 无广告
☑ 自定义头衔

用户等级

等级设置

'user_levels' => [
    [
        'level' => 1,
        'name' => '新手上路',
        'points' => 0,
        'icon' => 'level1.png'
    ],
    [
        'level' => 2,
        'name' => '初级会员',
        'points' => 100,
        'icon' => 'level2.png'
    ],
    [
        'level' => 3,
        'name' => '中级会员',
        'points' => 500,
        'icon' => 'level3.png'
    ],
    [
        'level' => 4,
        'name' => '高级会员',
        'points' => 2000,
        'icon' => 'level4.png'
    ],
    [
        'level' => 5,
        'name' => 'VIP 会员',
        'points' => 5000,
        'icon' => 'level5.png'
    ],
],

等级特权

等级1(新手上路)

  • 发表评论
  • 收藏文章

等级2(初级会员)

  • 发布文章
  • 上传图片

等级3(中级会员)

  • 上传附件
  • 创建专题

等级4(高级会员)

  • 自定义头衔
  • 发送私信

等级5(VIP会员)

  • 访问全部内容
  • 无广告
  • 优先展示

积分系统

积分获取

注册奖励

新用户注册:+100 积分

日常操作

每日登录:+10 积分
发布文章:+20 积分
评论文章:+5 积分
文章被赞:+2 积分
评论被赞:+1 积分

完善资料

完善个人资料:+50 积分
绑定邮箱:+30 积分
绑定手机:+30 积分
实名认证:+100 积分

积分消耗

下载资源

下载附件:-10 积分
下载付费内容:-50 积分

兑换特权

VIP 月卡:-500 积分
自定义头衔:-200 积分
隐藏广告:-100 积分/月

积分规则

// config/points.php
return [
    'register' => 100,          // 注册
    'login' => 10,              // 登录
    'publish_article' => 20,    // 发布文章
    'comment' => 5,             // 评论
    'article_liked' => 2,       // 文章被赞
    'download' => -10,          // 下载
];

第三方登录

微信登录

配置

'wechat' => [
    'app_id' => 'your_app_id',
    'app_secret' => 'your_app_secret',
    'callback' => 'http://your-domain.com/auth/wechat/callback',
],

实现

use Overtrue\Socialite\SocialiteManager;

// 跳转到微信授权页
public function wechat()
{
    $config = config('oauth.wechat');
    $socialite = new SocialiteManager($config);

    return redirect($socialite->driver('wechat')->redirect());
}

// 回调处理
public function wechatCallback()
{
    $config = config('oauth.wechat');
    $socialite = new SocialiteManager($config);

    $user = $socialite->driver('wechat')->user();

    // 查找或创建用户
    $localUser = $this->findOrCreateUser($user, 'wechat');

    // 登录
    session('user_id', $localUser->id);

    return redirect('/');
}

QQ登录

配置和实现类似微信登录。

微博登录

配置和实现类似微信登录。

用户统计

用户概况

总用户数:10,234
今日新增:56
本周新增:312
本月新增:1,245

活跃度统计

今日活跃:1,234
本周活跃:5,678
本月活跃:12,345

用户分布

按用户组

管理员:5
编辑:20
VIP会员:234
普通会员:9,975

按等级

新手上路:5,000
初级会员:3,000
中级会员:1,500
高级会员:600
VIP会员:134

按地区

北京:2,345
上海:1,890
广东:3,456
...

用户安全

密码安全

密码规则

'password' => [
    'min_length' => 8,
    'require_uppercase' => true,
    'require_lowercase' => true,
    'require_number' => true,
    'require_special' => false,
],

密码加密

// 使用 bcrypt 加密
$password = password_hash($plainPassword, PASSWORD_BCRYPT);

// 验证密码
if (password_verify($plainPassword, $hashedPassword)) {
    // 密码正确
}

登录安全

失败次数限制

// 5次失败锁定30分钟
$attempts = Cache::get('login_attempts_' . $username, 0);

if ($attempts >= 5) {
    throw new \Exception('登录失败次数过多,请30分钟后重试');
}

// 登录失败
Cache::set('login_attempts_' . $username, $attempts + 1, 1800);

异地登录提醒

// 检测异地登录
$lastLoginIp = $user->last_login_ip;
$currentIp = request()->ip();

if ($lastLoginIp && $lastLoginIp != $currentIp) {
    // 发送提醒邮件
    Mail::send('mail/login_alert', [
        'user' => $user,
        'ip' => $currentIp,
        'time' => date('Y-m-d H:i:s')
    ], function($message) use ($user) {
        $message->to($user->email)
            ->subject('异地登录提醒');
    });
}

两步验证

启用两步验证

1. 个人中心 → 账号安全
2. 启用两步验证
3. 扫描二维码
4. 输入验证码
5. 保存备用码

登录验证

use PragmaRX\Google2FA\Google2FA;

// 生成密钥
$google2fa = new Google2FA();
$secret = $google2fa->generateSecretKey();

// 验证码
$valid = $google2fa->verifyKey($secret, $code);

API接口

用户注册

POST /api/auth/register
Content-Type: application/json

{
  "username": "user001",
  "password": "password123",
  "email": "user@example.com",
  "captcha": "ABCD"
}

用户登录

POST /api/auth/login
Content-Type: application/json

{
  "username": "user001",
  "password": "password123"
}

获取用户信息

GET /api/user/profile
Authorization: Bearer {token}

更新用户信息

PUT /api/user/profile
Authorization: Bearer {token}
Content-Type: application/json

{
  "nickname": "新昵称",
  "avatar": "https://example.com/avatar.jpg"
}

最佳实践

注册引导

简化注册流程

  • 只要求必填项
  • 支持第三方登录
  • 可选邮箱验证

新手引导

  • 注册后自动跳转引导页
  • 完善资料奖励积分
  • 推荐关注用户/内容

用户激活

激活奖励

  • 完善资料送积分
  • 首次发文送VIP
  • 邀请好友送特权

活跃度维护

  • 签到送积分
  • 每日任务
  • 活动参与

用户留存

内容推荐

  • 基于兴趣推荐
  • 个性化首页
  • 关注动态

互动鼓励

  • 评论提醒
  • 点赞通知
  • 关注提醒

常见问题

如何批量导入用户?

  1. 准备CSV文件
  2. 用户管理 → 导入用户
  3. 上传文件
  4. 预览数据
  5. 确认导入

忘记密码怎么办?

用户端:

  1. 登录页点击"忘记密码"
  2. 输入邮箱/手机号
  3. 接收验证码
  4. 设置新密码

管理员端:

  1. 用户列表找到用户
  2. 点击"重置密码"
  3. 设置新密码

如何防止恶意注册?

防护措施:

  1. 开启验证码
  2. 邮箱/手机验证
  3. 限制注册频率
  4. IP 黑名单
  5. 邀请码注册

相关功能

  • 权限管理
  • 评论系统
  • API 文档
在 GitHub 上编辑此页
Prev
评论系统