热搜:NVER node 开发 php

如何判断该用户已经登录

2024-09-21 19:15:01
如何判断该用户已经登录

我用php做服务器端,c#的winform做客户端。当A用户登录成功之后,会显示B界面.当A用户在B界面进行操作时,服务器怎么判断这个A用户已经登录过,如果没登陆的话会提示他没有权限。


回复讨论(解决方案)

winform不懂, php用session就可以了。 

用一个中间变量就可以,变量赋值为空,当A登录成功变量就赋个值,操作时判断变量有没有值就可以了!

php登?之後?入session,?session存入???
不管是winform?是php都能??控制了.

如果服?器安?了memcache,那?也可以把session存入memcache.??就算winform?法取得php的session值,也可以直接?memcache里取值.

繁?很不??捏

可以使用CAS统一认证
http://www.ibm.com/developerworks/cn/webservices/ws-casestudy/part4/

使用session不能解决吗?

给个参考哈。 http://blog.csdn.net/lcawen88/article/details/8534978

我也是用c#做客户端的,这个很简单哦,细节我不说了,大体方法:
首先,客户端登录后,使用HttpWebRequest发送HTTP请求,假设那个页面是login.php,你要在里面写一段
将post数据存入session的代码(类似 $_SESSION["username"] = $_POST["..."]),然后C#发送HTTP请求调用这个页面可以将用户登录信息写入SESSION,之后又另一个管理页面是manager.php,这个页面里要有一段
判断 $_SESSION["username"]的代码,并且用 echo $_SESSION["username"] 的方法将其输出,这样C#登录manager.php时候就可以获取$_SESSION["username"],将它和用户名匹配,存在并且正确就进入管理界面,否则在客户端弹出警告

C#用HttpWebRequest,下面这段代码可以在客户端获取服务端PHP页面的值

HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create("http://localhost:81/console_revised/" + page);            data = encoding.GetBytes(postData);            myRequest.Method = "POST";            myRequest.ContentType = "application/x-www-form-urlencoded";            myRequest.ContentLength = data.Length;            Stream newStream = myRequest.GetRequestStream();            newStream.Write(data, 0, data.Length);            newStream.Close();            HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();            StreamReader reader = new StreamReader(myResponse.GetResponseStream(), encoding);            string content = reader.ReadToEnd();            reader.Close();            myResponse.Close();