سلام
وقتتون بخیر
چطور یک صفحه ورود و احراز هویت با استفاده از تورنادو ایجاد کنم
و همچنین در اختیار داشتن سشن ها
سلام
وقتتون بخیر
چطور یک صفحه ورود و احراز هویت با استفاده از تورنادو ایجاد کنم
و همچنین در اختیار داشتن سشن ها
توی داکیومنتش مثال گذاشته واسه authentication :
http://tornado.readthedocs.org/en/la...authentication
ولی حواستون باشه که توی تورنادو باید کلیه مسائل امنیتی رو خودتون دستی بنویسید... و مثل جنگو نیست که همه چیز رو خودش هندل کنه.
با سشن بهتره
این رو می تونید توضیح بدین
https://github.com/diogobaeder/pycket
بنده که هرچی میرم کار نمی کنه
memcache رو استفاده کردی یا redis ؟
کدت رو بزار با اروری که میگیری
از redis
کد زیر در هندلر :
class login(tornado.web.RequestHandler):
def get(self):
login1 = loginuser.select()
self.render('login\index.html',login=login1)
def post(self):
login1=loginuser.select().where(loginuser.id==id)#
user=self.get_argument('user')
if login1.user==user:
session = SessionManager(self)
session.set('login',login.user)
k = session.get('login')
self.redirect('/admin')
else:
self.redirect('/login')
که این ارور رو میده
in post
if login1.user==user:
AttributeError: 'SelectQuery' object has no attribute 'user'
هم فکر کنم از دیتابیس درست انتخاب نمیشه هم
یوزر از که در لاگین باکس زده میشه توسط
user=self.get_argument('user')
گرفته نمیشه
کد زیر هم در صفحات برای بررسی سشن :
if session.get('login')==loginuser.user :
self.render('new.html')
else:
self.redirect('/login')
که البته فکر کنم اشتباه نوشتم
شما هم یه بررسی بکنید
کد رو کامل بزارید لطفا .. الان loginuser اصلا معلوم نیست از کجا اومده !
آبجکتی که ساختید یوزر نداره تهش یه dir اضافه کنید ببینید چه چیزهایی داره:
login1=loginuser.select().where(loginuser.id==id)
print dir(login1)
میشه خودتون کد اصلاح شده بدین
لاگین یوزر اسم جدول شامل یوزر و پسورده
فرم هم که یوزر و پسورد میاد
<form action="/login" method="post">
<input name="user" type="user" id="user" placeholder="username" required>
..
چرا داره! شاید تو سلکتش اشتباه کردم ؟
login1=loginuser.select().where(loginuser.id==id)
آخرین ویرایش به وسیله saeed7474 : یک شنبه 12 بهمن 1393 در 17:08 عصر
نه متاسفانه وقتش رو ندارم.
خروجی دستوری که گفتم رو نگذاشتی، بعد گفتمloginuser تعریفش مسخص نیست نه login1.
گفتم اسم جدوله
شما کد انتخاب یه یوزر از دیتابیس رو بگید که مقایسه کنه با یوزر داده شده کافیه
درست شد.
if loginuser.get(loginuser.id == 1).user==user1: