安全不是问题。
我需要在页面上显示“您以用户名身份登录”,但不想仅为此删除缓存中的视图,因此我希望能够在javascript中执行此操作。
我不想对此过程做任何重要的事情,只需检查cookie是否仍然有效,如果是,则显示欢迎消息,过度显示登录链接。
重点是不要点击数据库并节省服务器,因为我们每天在这台机器上有120000个用户,所以我需要:
django.contrib.auth
Cookie的名称,以便我可以阅读; 如果我找不到这样做的方法,我会回过头来创建一个身份验证后端,在登录时设置一个额外的cookie,并在退出时删除它。
答案 0 :(得分:9)
sessionid Cookie存在并且有一个到期日期。您可以检查是否仍然有效,这表明他们已将其记录下来。你无法通过这种方式获得用户名,你必须添加自定义cookie。
答案 1 :(得分:2)
在模板中包含以下代码。
{% block top %}<script async="async" defer="defer" type="text/javascript" src="{% static 'users/js/geo.js' %}"
{% if user.is_authenticated %} data-authenticated="true" {% endif %}
></script
>{% endblock %}
并检查您是否通过以下代码进行了身份验证:
unsafe_authenticated = 'true' === document.currentScript.dataset.authenticated;