django的用户认证管理,如何使用session(1)

这几天打算做一个用户注册登陆验证,由于我没有使用django自身的数据库和model,这里也不想用它的user认证,因为只有天知道会不会有天老大说,我们不要用django了,给我移植一下吧。但是在这个架构上写东西,很多东西还是被它的安全机制所限制。

打算用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的用户认证管理,如何使用session(1)

无头绪,但是任务还是要完成,改用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"

删除掉,再试,总算是进去了,╮(╯▽╰)╭

你可能感兴趣的:(session)