• NodeBB Admin

    https://github.com/designcreateplay/NodeBB/blob/master/public/src/templates.js#L206

    You can change that line to return ajaxify.go('/register'); then all forbidden pages will redirect to register. You can then change the register.tpl file.


  • Hi, thanks again @baris.

    I just tried: return ajaxify.go('/register'); It didn't seem to work unfortunately.

    Additionally, I now realize that the fix I said worked has a problem. While it redirects you to /403 if you type the home address into the browser, the links in the top left (home, recent, users) still work. Any idea how to solve this problem?

    Thanks,
    Aaron

  • NodeBB Admin

    Try :

    function loggedIn(req, res, next) {
        if(req.user && parseInt(req.user.uid, 10)) {
            return next();
        }
    
        var allowed = ['config', 'get_templates_listing', '403', 'login', 'register'];
        if(req.params && allowed.indexOf(req.params.route) !== -1) {
            return next();
        }
    
        res.status('403');
        res.redirect('/403');
    }
    app.all('/api/:route/*?', loggedIn);
    app.all('/api/:route', loggedIn);
    app.get('/', loggedIn);
    

    and

    return ajaxify('register') in the template file. That works for me.


  • Hmmm...now if I click on those links, all but the header disappears. For example, if I click the users icon, the address changes to /users, but the screen goes blank except for the header.

    Is it possible my problems have to do with my Redis store? I'm getting this readout from the terminal where I launched the redis server:

    [17580] 04 Feb 17:14:56.496 # Server started, Redis version 2.8.4
    [17580] 04 Feb 17:14:56.497 * DB loaded from disk: 0.002 seconds
    [17580] 04 Feb 17:14:56.497 * The server is now ready to accept connections on port 6379
    [17580] 04 Feb 17:15:57.017 * 10 changes in 60 seconds. Saving...
    [17580] 04 Feb 17:15:57.018 * Background saving started by pid 17592
    [17592] 04 Feb 17:15:57.018 # Failed opening .rdb for saving: Permission denied
    [17580] 04 Feb 17:15:57.118 # Background saving error
    [17580] 04 Feb 17:16:03.052 * 10 changes in 60 seconds. Saving...
    [17580] 04 Feb 17:16:03.052 * Background saving started by pid 17596
    [17596] 04 Feb 17:16:03.053 # Failed opening .rdb for saving: Permission denied
    [17580] 04 Feb 17:16:03.153 # Background saving error
    

  • This post is deleted!
  • NodeBB Admin

    Make sure your browser cache is disabled when you are testing this. return ajaxify('register'); works fine for me but I got the same result you described when I tried return ajaxify('/register');.

    About your redis issue looks like the user redis running under doesn't have permission to write to that location.


  • Thanks. That's what I figured, so I went to the directory with dump.rdb and did sudo chmod 777 dump.rdb and this is the output of ls -l:
    total 16
    -rwxrwxrwx 1 root wheel 5654 Jan 30 20:26 dump.rdb

    Also, I definitely did register, not /register. So not sure what the problem is there.

    I appreciate your taking the time to help me out with this!

  • NodeBB Admin

    function loggedIn(req, res, next) {
        if(req.user && parseInt(req.user.uid, 10)) {
            return next();
        }
    
        var allowed = ['config', 'get_templates_listing', '403', 'login', 'register'];
        if(req.params && allowed.indexOf(req.params.route) !== -1) {
            return next();
        }
    
        res.status('403');
        res.redirect('/403');
    }
    app.all('/api/:route/*?', loggedIn);
    app.all('/api/:route', loggedIn);
    

    Looks like you don't need the last route. With the above code and the return ajaxify('register'); in templates.js it redirects to register for me. Let me know if it doesn't work.


  • It doesn't work for me. I put that block of code indented after the line:
    app.namespace(nconf.get('relative_path'), function () {

    I think this might be another caching issue, but it keeps forgetting who I am and I keep having to call flushall on the database and doing node app --setup again to be able to log in and test it.


  • This post is deleted!
  • NodeBB Admin

    I'm not sure why you are getting that permission error. @julian might have a better idea.


  • Okay, I figured out the Redis thing. The permissions for dump.rdb were fine. But I had to expand the permissions for the directory they were in (/redis).

    Still having the same problem with the app though. The redirect to /register isn't working and I'm getting the white screen minus the nav bar instead of getting routed to /403 or /register.

  • GNU/Linux Admin

    There's no reason why the dumpfile should be owned by root:wheel. Try shutting down redis, deleting dump.rdb, and starting redis again with sudo service redis-server start.

    You should not need root to use redis-cli.

  • GNU/Linux Admin

    What does the chrome inspector say when you are redirected to /register?


  • I never get redirected to /register.
    Okay, thanks for the suggestion. I'll give it a try.


  • In response to:
    sudo service redis-server start
    I get:
    sudo: service: command not found

    Plus, that doesn't give me a way to specify my redis.conf file, right?

  • GNU/Linux Admin

    @aaron It depends on how you installed redis. You'd use service if it was installed via apt-get, usually.


  • I'm on a mac so I think I used Brew to install Redis. What was starting it that way going to accomplish? Do you know another way? Thanks!

  • GNU/Linux Admin

    Ah, when it comes to Macs, I probably know less than you do...!


  • Thanks @baris. Do you know what this warning signifies?

    warn: [init] Cache buster not set


Suggested Topics

| | |

© 2014 – 2022 NodeBB, Inc. — Made in Canada.