ホームページ  >  記事  >  バックエンド開発  >  ユーザーがログインしているかどうかを確認する方法

ユーザーがログインしているかどうかを確認する方法

WBOY
WBOYオリジナル
2016-06-23 14:19:381493ブラウズ

サーバーとして php を使用し、クライアントとして C# winform を使用します。ユーザー A がログインに成功すると、インターフェース B が表示されます。ユーザー A がインターフェース B を操作するとき、サーバーはユーザー A がログインしていることをどのように判断するのでしょうか。そうでない場合、ユーザー A に権限がないことを示すメッセージが表示されます。


ディスカッションに返信 (解決策)

winform は理解できません。php のセッションを使用してください。

中間変数を使用します。変数の割り当ては空です。A がログインに成功すると、変数に値があるかどうかを判断するだけです。

phpでログイン後、セッションに入り、セッションを保存します
サーバーにmemcacheがインストールされている場合は、セッションを保存することもできます。 winform が PHP のセッション値を取得できない場合は、memcache で値を直接取得することもできます
複雑で簡単ではありません
CAS 統合認証を使用することもできます

http://www.ibm.com/developerworks/cn/ webservices/ws-casestudy/part4/

セッションを使って解決できないでしょうか?


参考にさせてください。 http://blog.csdn.net/lcawen88/article/details/8534978

これは非常に簡単ですが、詳細は説明しません。

まず、ログを作成した後。ページがlogin.phpであると仮定すると、HttpWebRequestを使用してHTTPリクエストを送信し、投稿データをセッションに保存する必要があります($_SESSION["username"] = $_POSTと同様)。 ["..."])、C# はこのページを呼び出す HTTP リクエストを送信して、ユーザーのログイン情報を SESSION に書き込みます。このページには、$ を判断するためのセクションが必要です。 _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();



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。