NodeJs实现客户端登陆

nodejs的api中有一个process进程对象,process 对象是一个 global (全局变量),提供有关信息,控制当前 Node.js 进程。作为一个对象,它对于 Node.js 应用程序始终是可用的,故无需使用 require()

process进程中提供了stdin和stdout用于接受键盘的输入输出流,下面我实现了一个控制台登陆的简单的例子,接收控制台输入的用户名和密码来判断是否登陆成功。

代码如下:

var q = "请输入用户名:";
var users = {
    ‘admin‘: ‘1234‘,
    ‘user1‘: ‘1234‘,
    ‘user2‘: ‘1234‘
}
var isInputUserName = true;
var username = "";

process.stdout.write(q + "\n");
//接收用户输入 监听用户的输入
process.stdin.on(‘data‘, (input) => {
    //输入的字符最后肯定是一个回车符
    input = input.toString().trim();
    //获取一个键值对集合中的所有键
    if (!username) {
        if (Object.keys(users).indexOf(input) === -1) {
            //用户名不存在
            process.stdout.write(‘用户名不存在‘ + ‘\n‘);
            process.stdout.write(q + "\n");
            username = "";
        } else {
            process.stdout.write(‘请输入密码:\n‘);
            username = input;
        }
    } else {
        if (input == users[username]) {
            console.log(‘登陆成功‘);
            username = "";
        } else {
            process.stdout.write(‘密码有误,请重新输入密码:\n‘);
        }
    }
});

  在终端中node环境下执行该js代码:

时间: 2024-12-21 19:02:01

NodeJs实现客户端登陆的相关文章

FineReport:任意时刻只允许在一个客户端登陆账号的插件

在使用FineReport报表系统中,处于账户安全考虑,有些企业希望同一账号在任意时刻智能在统一客户端登录.那么当A用户在C1客户端登陆后,该账号又在另外一个C2客户端登陆,服务器如何取判断呢? 开发原理 当服务器在得知A在C1登陆后,在cookie里面写入一个标识ID~将浏览器标记,然后以后的访问自然就能够根据匹配用户名和对应的标记来确定这个用户是不是在换浏览器登陆了,当匹配到用户异地登陆,就要把之前已经登陆的用户先登出,再登陆新请求的用户.当然关闭页面事件里要向后台先发送一个请求,后台要记得

RAC 10.2.0.5,客户端登陆间断遭遇ORA-12545

试验环境: 服务端:OEL 5.7 + Oracle 10.2.0.5 RAC 客户端:Windows 7 + Oracle 11.2.0.1 Client 1.客户端登陆间断遭遇ORA-12545,现象如下: C:\Users\xiaoyu>sqlplus system/[email protected]192.168.1.171/jy.oracle.com SQL*Plus: Release 11.2.0.1.0 Production on 星期二 5月 20 19:43:52 2014 C

模拟客户端登陆(基于TCP的Socket编程)

1.客户端  package com.ljb.app.socket; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.PrintWriter; import java.net.Socket; import java.n

android 通过post发送数据 完成客户端登陆模块

1.get是从服务器上获取数据,post是向服务器传送数据.2.get是把参数数据队列加到提交表单的 ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到.post是通过HTTPpost机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址.用户看不到这个过程.3.对于get方式,服务器端用 Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据.4.get

使用客户端登陆ftp 500 OOPS: cannot change directory:/root

使用客户端登陆ftp 500 OOPS: cannot change directory:/root解决 可以在windows上使用一ftp客户端来尝试进行登录.这个时候一般都会报一个错误. 无效的用户权限错误 删除ftpuser 里面的root和user_list 里的root 最好关掉linux 的防火墙:chkconfig iptables off 然后再次登录 500 OOPS: cannot change directory:/root 解决办法: 1. 查看 SELinux 的状态:

java获取客户端登陆地址信息(国家、省份、城市等)

原文:java获取客户端登陆地址信息(国家.省份.城市等) 源代码下载地址:http://www.zuidaima.com/share/1550463687658496.htm /** * @param urlStr * 请求的地址 * @param content * @author www.zuidaima.com * 请求的参数 格式为:name=xxx&pwd=xxx * @param encoding * 服务器端请求编码.如GBK,UTF-8等 * @return */ privat

新浪OAuth客户端登陆另辟蹊径

题记:这是一段七月份写的代码了,忘记有没有做过优化了,随便看看吧. 前言:当时七月份刚接触的时候,客户端登陆授权方式早就已经取消了,于是就考虑用网页登陆方式来间接模拟下吧,这样密码也安全点,无非就是拿个Token嘛. 使用哪一家的SDK相信您可以看出来 //先上代码吧 myOuth = new NetDimension.Weibo.OAuth(AppKey, AppSecret, Properties.Settings.Default.CallbackUrl ); OuthWeb myWeb =

如何查看客户端登陆到哪台域控制器上

如何查看客户端登陆到哪台域控制器上 ? 在客户端DOS下输入"set logonserver" 就可以查看到当前客户端登陆的是哪一台域控制器,如下图, 如何查看客户端登陆到哪台域控制器上

Oracle之配置客户端登陆多个远程数据库

一.引言 一直搞不明白Oracle数据库的客户端是怎么回事,怎么配置,前几天由于工作中需要用到Oracle,而且需要连接两个不同的数据库,就通过上网和请教同事终于把客户端的配置搞定了,记录之,学习之 二.步骤 其实对于软件的配置,如果重启软件后,这个配置还生效的话,那么它就一定把这个配置写入了某个文件中,只不过有些软件会对这些文件加密或者以二进制写入,所以我们看不到,但是所幸Oracle的文件时可以看到并且可以编辑的.下面就看一下两种方式配置客户端登陆多个远程数据库. 方法一.修复配置文件 这种