Opened 10 years ago
Closed 10 years ago
#25770 closed Bug (invalid)
authenticate and login can not write cookie 'sessionid'
| Reported by: | mrgaolei | Owned by: | nobody |
|---|---|---|---|
| Component: | contrib.auth | Version: | 1.8 |
| Severity: | Normal | Keywords: | authenticate login session |
| Cc: | Triage Stage: | Unreviewed | |
| Has patch: | no | Needs documentation: | no |
| Needs tests: | no | Patch needs improvement: | no |
| Easy pickings: | no | UI/UX: | no |
Description
If I use 'django.contrib.auth.urls' login, everything are OK, cookie 'sessionid' writes to Browser.
But, when I login Manually, like:
from django.contrib.auth import authenticate, login, logout
def some_view(request):
user = authenticate(username="mrgaolei", password="123456")
if user is not None:
login(request, user)
No any exceptions, but user not loginged, and no cookie 'sessionid' writes to Browser.
My settings.py is generated by manage.py startproject.
I tried capture login status like:
from django.contrib.auth import authenticate, login, logout
def some_view(request):
print request.user.is_authenticated()
user = authenticate(username="mrgaolei", password="123456")
if user is not None:
login(request, user)
print request.user.is_authenticated()
When I refresh this url, terminal output:
False True
It seems the 'login' method writes the 'sessionid` cookie expire only 1 second.
Is this a bug? Or my fault?
Change History (2)
comment:1 by , 10 years ago
comment:2 by , 10 years ago
| Resolution: | → invalid |
|---|---|
| Status: | new → closed |
Note:
See TracTickets
for help on using tickets.
Is my fault!
I don't return any HttpResponse, so the status of HTTP is not 2xx or 3xx, so any session operation are rollback.