View Full Version : صفحه لاگین با تورنادو
saeed7474
شنبه 11 بهمن 1393, 07:51 صبح
سلام
وقتتون بخیر
چطور یک صفحه ورود و احراز هویت با استفاده از تورنادو ایجاد کنم
و همچنین در اختیار داشتن سشن ها
n.nowroozi
شنبه 11 بهمن 1393, 08:21 صبح
توی داکیومنتش مثال گذاشته واسه authentication :
http://tornado.readthedocs.org/en/latest/guide/security.html#user-authentication
ولی حواستون باشه که توی تورنادو باید کلیه مسائل امنیتی رو خودتون دستی بنویسید... و مثل جنگو نیست که همه چیز رو خودش هندل کنه.
saeed7474
یک شنبه 12 بهمن 1393, 09:25 صبح
با سشن بهتره
این رو می تونید توضیح بدین
https://github.com/diogobaeder/pycket
بنده که هرچی میرم کار نمی کنه
n.nowroozi
یک شنبه 12 بهمن 1393, 14:00 عصر
memcache رو استفاده کردی یا redis ؟
کدت رو بزار با اروری که میگیری
saeed7474
یک شنبه 12 بهمن 1393, 15:55 عصر
از 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')
که البته فکر کنم اشتباه نوشتم
شما هم یه بررسی بکنید
n.nowroozi
یک شنبه 12 بهمن 1393, 16:30 عصر
کد رو کامل بزارید لطفا .. الان loginuser اصلا معلوم نیست از کجا اومده !
آبجکتی که ساختید یوزر نداره تهش یه dir اضافه کنید ببینید چه چیزهایی داره:
login1=loginuser.select().where(loginuser.id==id)
print dir(login1)
saeed7474
یک شنبه 12 بهمن 1393, 17:34 عصر
میشه خودتون کد اصلاح شده بدین
لاگین یوزر اسم جدول شامل یوزر و پسورده
فرم هم که یوزر و پسورد میاد
<form action="/login" method="post">
<input name="user" type="user" id="user" placeholder="username" required>
..
چرا داره! شاید تو سلکتش اشتباه کردم ؟
login1=loginuser.select().where(loginuser.id==id)
n.nowroozi
دوشنبه 13 بهمن 1393, 08:32 صبح
نه متاسفانه وقتش رو ندارم.
خروجی دستوری که گفتم رو نگذاشتی، بعد گفتم
loginuser تعریفش مسخص نیست نه login1.
saeed7474
دوشنبه 13 بهمن 1393, 12:00 عصر
گفتم اسم جدوله
شما کد انتخاب یه یوزر از دیتابیس رو بگید که مقایسه کنه با یوزر داده شده کافیه
saeed7474
دوشنبه 13 بهمن 1393, 12:49 عصر
درست شد.
if loginuser.get(loginuser.id == 1).user==user1:
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.