i

itbunan

V1

2023/03/29阅读:17主题:默认主题

typecho博客开放注册并用ruleuser接管用户中心

前言

前一段时间上线了app,网站一直没有开放注册。两方是割裂的,最近有时间。还是用ruleuser接管了博客的用户中心。特此记录配置过程。

lfnw3gjh.png
lfnw3gjh.png

配置

获取源码

一开始使用的是免费版,部署后有一个bug,然后换成了付费版。

上传

将源码上传到typecho根目录,解压并命名为user

configs.js

填写api相关信息

和博客整合

通过改造代码接管博客本身的登录注册功能,有2中方法,可以参考官方教程

只允许登录后评论

function.php

function toLogin($token,$uid){
    //  如果不存在就写入 Cookie
    Typecho_Cookie::set('__typecho_token', $token);
    Typecho_Cookie::set('__typecho_token_uid', $uid);
    if($uid==0){
        Typecho_Cookie::set('__typecho_token'0);
        Typecho_Cookie::set('__typecho_token_uid'0);
        Typecho_Cookie::delete('__typecho_token');
        Typecho_Cookie::delete('__typecho_token_uid');
    }
}

function getLogin(){
    if (empty($recording = Typecho_Cookie::get('__typecho_token'))) {

        return 0;
    } else {
        $uid = Typecho_Cookie::get('__typecho_token_uid');
        return $uid;
    }
}

function quitUser(){
    Typecho_Cookie::set('__typecho_token'0);
    Typecho_Cookie::set('__typecho_token_uid'0);
    Typecho_Cookie::delete('__typecho_token');
    Typecho_Cookie::delete('__typecho_token_uid');
}

//根据字段获取用户信息
function userInfo($value,$uid)
{
    $db   = Typecho_Db::get();
    $prow = $db->fetchRow($db->select($value)->from('table.users')->where('uid = ?', $uid));
    $text = $prow[$value];

    return $text;
}

header.php

<?php
    if(isset( $_POST["token"])){
        $token =  $_POST["token"];
        $uid =  $_POST["uid"];
        toLogin($token,$uid);
    }
    if(isset( $_GET["quit"])){
        toLogin(0,0);
    }
?>

comment.php

   <?php if(getLogin()!=0) : ?>
   ...
   <?php else?>
      <div class="joe_comment__close">
        <span>只有<a href="javascript:;"  onclick="UserLogin()" rel="noopener noreferrer nofollow">登录/注册</a>用户才可评论</span>
        </div>
   <?php endif?>
lfnwbvsl.png
lfnwbvsl.png

相关文章

IT技术家园app部署上线过程记录

参考

RuleUser安装及配置教程 使用RuleUser接管Typecho用户中心教程 - 星泽V社

分类:

后端

标签:

运维部署

作者介绍

i
itbunan
V1