詳細
は、私は(いいえ、私はDjangoの専用の認証を使用していない)、ユーザーのための私のカスタム認証プロセスを作ってきた、私はほとんどそれを終え、まだ懸念を持ちます当時最も重要な部分でした。ジャンゴ:追跡のための戦略とユーザーデータを表示
ので、これらは、認証プロセスの主要な部分です:
- ユーザー看板のウェブサイトへの蒸気の社会の認証を介しました。
- 私の認証システムは、データベースにユーザのデータが含まれているかどうかをチェックし、そうでなければすべての情報を持つ新しいユーザオブジェクトを作成します。
- システムは、値がTrueのキー
logged
としてクッキーを作成します。
logged
のCookieの値がTrueの場合、ウェブサイトにユーザーのデータが表示されるようにこれらの手順が開始されます。
戦略と質問
だから例として、私が見るようのは、stackoverflowのをみましょう:それはログインしています時にクッキーが有効化され、それは私が私のプロフィールの写真のショー、そして私のスコア。
私はその特定のユーザーであることをどのように知っていましたか?クッキー経由
:
私はクッキーを経由してユーザーデータを追跡している場合、私は彼らが変更する場合が超簡単なので、それは非常に悪い考えであろうことを知っています。 IPアドレス経由
:
は、その後、私は考えていないIPアドレス、それらを追跡するための第二の方法は、良いアイデアがあります:セッション経由
from .models import User, IPs
from django.http import HttpResponseRedirect, HttpResponse
import steamapi
def index(request, self):
ip = request.META['HTTP_X_FORWARDED_FOR']
for search in IPs.objects.all():
if str(ip) in str(search):
break
user = ip.strip(ip) # model will contain ip address with username. e.g (user 127.0.0.1), so i strip the ip
else:
username = steamapi.user.SteamUser(self.steamid) # i get steamid from different function which is not important.
username = IPs(data=username + " " + ip)
username.save()
print request.COOKIES
if request.COOKIES.get('logged'):
return HttpResponse("User %s" + "is logged in" % username)
else:
response = HttpResponse("User is not logged in")
response.set_cookie('logged', True)
return response
:
Djangoのセッション(クッキーを除く)は正確にはわかりませんが、私はdjangoのキャッシュされたセッションを使用すると良いでしょうか?もしそうなら、どのように?
注::最初のステップに適合するコードを探しているので、コード例が優れています。
最初の戦略は完全に悪い考えで、私は2番目のニシキヘビではなく、良い戦略ではないと思い、サードしかし、私は助けを必要とするものです。
一般質問:
ので、最善の戦略は、ウェブサイト上の特定のユーザーデータを表示するために何でしょうか?私はsimoverをstackoverflowのバーに言いました。そこに私のプロフィール画像とスコアが表示されます。
この問題のセッションにはどのタイプが最適でしょうか?キャッシュされたセッションは作業を行いますか? – ShellRox
最も簡単なのはdbバックエンドを使用することですが、バックエンドはこれを行います。 –
それはいい考えですが、私のニーズを満たすためにはどうすればいいのでしょうか?私は主要な部品の例を見ることができますか? – ShellRox