Django admin修改密碼

django的admin用戶被我多動症同樣的測試,給密碼弄丟了,須要重置。python

從數據庫重置的可能性爲0,由於django對於密碼有保護策略。考慮從運行程序的地方進行重置:mysql

1.在程序的文件夾下,執行這樣的命令,進行shell窗口:sql

1 python manage.py shell

2.對admin用戶進行修改密碼:shell

1 from django.contrib.auth.models import User  
2 user =User.objects.get(username='admin')  
3 user.set_password('new_password')  
4 user.save()  

結果,登陸admin成功。數據庫

 

總結:我有兩點疑問:django

  首先,若是連用戶名admin也忘記怎麼辦?    安全

1 from django.contrib.auth.models import User
2 user1 = User.objects.filter(is_superuser = True)
3 user2 = User.objects.filter(is_superuser = True, is_staff = True) 
4 print user1, user2

  上面第二句選擇了全部的超級用戶,能夠選擇其中一個進行修改密碼。測試

  第三句選擇了是staff而且是superuser的員工。code

      

  注意:默認狀況下,只有是staff和superuser的雙重身份才能進去django自帶的admin管理後臺並進行修改和管理。blog

     當只是staff的時候,只能進入後臺,可是不能進行任何操做。當只是superuser狀態時,則沒法進入後臺。

     

 

  其次,這樣的操做容許。意味着,若是知道程序放在哪一個路徑下面,就能夠修改admin的用戶密碼,這是否不安全?雖然這樣的操做,給咱們這些記憶力很差的人留下了「後路」。突然想起來了mysql不能對root修改密碼的問題

相關文章
相關標籤/搜索