如何在不通过命令行指定用户名和密码的情况下使用 cypher-shell 进行身份验证
当在命令行使用 $NEO4J_HOME/bin/cypher-shell
且通过设置 $NEO4J_HOME/conf/neo4j.conf
启用身份验证时
# Whether requests to Neo4j are authenticated.
# To disable authentication, uncomment this line
dbms.security.auth_enabled=true
可以在命令行上使用参数 -u <username> -p <password>
提供用户名和密码。但是,也可以定义环境变量 NEO4J_USERNAME
和 NEO4J_PASSWORD
,例如
export NEO4J_USERNAME='neo4j'
export NEO4J_PASSWORD='password'
定义环境变量后,现在可以运行 $NEO4J_HOME/bin/cypher-shell
,而无需在命令行上指定 -u 和 -p。这样做还有一个额外的好处:当运行 Linux 的 'history' 命令(该命令显示最后 N 个命令行调用)时,用户名和密码将不会暴露。
此外,如果使用 Linux,上述 export 命令可以放在用户主目录的 .bashrc
文件中(例如 /home/neo4j/.bashrc),这样 .bashrc
会在首次登录时被调用。
如果使用 Windows,可以通过“控制面板”→“系统”、“高级”选项卡下的“[环境变量]”来定义环境变量,如下图所示
此页面有帮助吗?