django的用户认证管理,如何使用session(1)
2012-08-14 14:37
741 查看
这几天打算做一个用户注册登陆验证,由于我没有使用django自身的数据库和model,这里也不想用它的user认证,因为只有天知道会不会有天老大说,我们不要用django了,给我移植一下吧。但是在这个架构上写东西,很多东西还是被它的安全机制所限制。
打算用session存储user信息,用django的认证,就需要在数据库里“manage.py syncdb”一下生成很多auth相关的表,而且生成的user的password还是明码,这个对于安全机制没什么要求的人来说,这么多表和严格认证都是累赘。我为了使用本地file存储session,在settings.py里加上了:
但是,在view里我用request.session获取到的session竟然是[], 无论我是否修改了session值,到新页面仍然是[]; 而且HttpResponse和HttpResponseRedirect也不再听话,所有的设想都破灭了,甚至莫名的弹出了这样一个错误框:
无头绪,但是任务还是要完成,改用django的用户认证得了,于是回来把admin相关的url.py,settings.py中的配置都修改回来:
url.py:
settings.py:
然后“manage.py syncdb”生成了auth相关的表,并同时创建superuser:“ user:admin,password:admin”;
最后打开“127.0.0.1:8000/admin”; 弹出了登陆框,输入用户名和密码,确认输入正确啊!!!可是仍然不让我进去!!!
实在是晕了。。。。整了一上午,突然想起来我让session存在本地文件导致session访问不到,这个auth认证本来默认存在数据库的,而默认被我修改到file读取,而file完全读不到,即使输入了正确的用户名和密码,仍然就被无情的抛弃掉了,当然进不到用户登录成功的管理界面!原来是这个道理,于是: 我赶紧把
settings.py 里的
删除掉,再试,总算是进去了,╮(╯▽╰)╭
打算用session存储user信息,用django的认证,就需要在数据库里“manage.py syncdb”一下生成很多auth相关的表,而且生成的user的password还是明码,这个对于安全机制没什么要求的人来说,这么多表和严格认证都是累赘。我为了使用本地file存储session,在settings.py里加上了:
SESSION_ENGINE = 'django.contrib.sessions.backends.file' SESSION_FILE_PATH = "D:/learn/Monitor/static/data"
但是,在view里我用request.session获取到的session竟然是[], 无论我是否修改了session值,到新页面仍然是[]; 而且HttpResponse和HttpResponseRedirect也不再听话,所有的设想都破灭了,甚至莫名的弹出了这样一个错误框:
无头绪,但是任务还是要完成,改用django的用户认证得了,于是回来把admin相关的url.py,settings.py中的配置都修改回来:
url.py:
# Uncomment the next two lines to enable the admin: from django.contrib import admin admin.autodiscover() url(r'^admin/', include(admin.site.urls)),
settings.py:
MIDDLEWARE_CLASSES = ( 'django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'djangomako.middleware.MakoMiddleware', # Uncomment the next line for simple clickjacking protection: # 'django.middleware.clickjacking.XFrameOptionsMiddleware', ) INSTALLED_APPS = ( 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.messages', 'django.contrib.staticfiles', # Uncomment the next line to enable the admin: 'django.contrib.admin', # Uncomment the next line to enable admin documentation: 'django.contrib.admindocs', 。。。。。
然后“manage.py syncdb”生成了auth相关的表,并同时创建superuser:“ user:admin,password:admin”;
最后打开“127.0.0.1:8000/admin”; 弹出了登陆框,输入用户名和密码,确认输入正确啊!!!可是仍然不让我进去!!!
实在是晕了。。。。整了一上午,突然想起来我让session存在本地文件导致session访问不到,这个auth认证本来默认存在数据库的,而默认被我修改到file读取,而file完全读不到,即使输入了正确的用户名和密码,仍然就被无情的抛弃掉了,当然进不到用户登录成功的管理界面!原来是这个道理,于是: 我赶紧把
settings.py 里的
SESSION_ENGINE = 'django.contrib.sessions.backends.file' SESSION_FILE_PATH = "D:/learn/Monitor/static/data"
删除掉,再试,总算是进去了,╮(╯▽╰)╭
相关文章推荐
- django的用户认证管理,如何使用session(2)
- Django权限系统auth模块详解 转自:原文出处 auth模块是Django提供的标准权限管理系统,可以提供用户身份认证, 用户组和权限管理。 auth可以和admin模块配合使用, 快速建
- django “如何”系列1:如何使用REMOTE_USER(远程用户)进行认证
- 使用外部LDAP用户认证后,DJANGO用户如何作登陆的操作?
- restful架构风格设计准则(五)用户认证和session管理
- 验证django 用户认证auth模块常见方法使用.
- 基于 session 和基于 token 的用户认证方式到底该如何选择
- 使用PHPLIB进行Session的管理和认证(转载)
- 用户禁止cookie后,如何继续使用session
- 2.4.1、Django使用内置的Admin管理用户
- Django用户管理及认证
- Laravel-使用中间件做用户认证和权限管理
- wifidog 认证服务器如何授权和使用用户配置文件
- Django1.5内置的用户认证系统介绍(之二)使用User对象--by hillfree
- Django实战(21):使用内置的Amin管理用户
- 服务端如何识别已登录用户身份之Session管理和Cookie应用
- Django中使用session保持用户登陆连接
- 用户禁止cookie以后,如何继续使用session
- 使用MySQL管理Linux用户认证