通过https登录的用户应该始终通过https获得内容,否则让登录表单使用https是没有意义的。使用http,任何人都可以拦截cookie并使用它访问用户的帐户,甚至不知道用户和密码。
这里的问题可能是,为什么登录用户会看到http链接。一种解决方法可能是检测LOGGED_IN_COOKIE
cookie已设置,并且应该在http和https上可用,如果设置了cookie,则重定向到https。
Clarification: 你没有have 要通过https为登录的用户提供一切服务,这只是遵循IMO的一个更简单的路径。更难的方法是只要求在您实际向用户显示机密信息的页面上登录,但如果您的用户关闭了管理栏,则可以将页面作为http提供服务,但如果打开,则需要使用https。
如果您所做的只是显示用户显示名称,并且它是公共信息,那么您可以从包含在LOGGED_IN_COOKIE
cookie,但对于实际身份验证,您需要使用https。