我试图通过socketIO对MySQL数据库进行身份验证.我已经建立了连接并且可以在没有问题的情况下查询结果,但由于某种原因,我不能通过用户是否被认证到connectionsocketio 的部分.这个想法是我的应用程序有主机和观众.如果在不在应用程序中发送密码的情况下连接到应用QueryString程序则假定它是一个查看器并接受连接.如果发送密码,则会根据DB检查密码并接受/拒绝连接.我想要一个变量传入,connection所以我可以在我的应用程序事件中使用它.这是我到目前为止所做的,但显然data.query['ishost']是没有传入应用程序.
sio.configure(function() {
sio.set('authorization', function (data, accept) {
UserID = data.query['username'];
try {
UserID = UserID.toLowerCase();
} catch(err) {
return accept("No WebBot Specified. ("+err+")", false);
}
// if not sending a password, skip authorization and connect as a viewer
if (data.query['password'] === 'undefined')
{
return accept(null, true);
}
// if sending a password, attempt authorization and connect as a host
else
{
client.query(
'SELECT * FROM web_users WHERE username = "'+UserID+'" …Run Code Online (Sandbox Code Playgroud)