我在安全方面很可怕,所以如果你们有任何想法,我很好奇。我最近在Python中编写了一个应用程序,我将出售给选择人员。关于应用程序的信息是私有的(不是那么令人难以置信,我只需要一个最小的解决方案)。我怎么能让用户登录到应用程序(从MySQL数据库),然后程序检查是否有人已经在这些凭据下登录。这是一个基本流程:
我完全不知道从哪里开始,有什么建议/方向指向我?
答案 0 :(得分:0)
不要成为Dave并推出自己的安全系统。如果可以,请使用现有的
这不应该与您的数据库有任何关系。如果您碰巧将会话信息保存到数据库,那很好,但您的会话管理应该在内存中
基本上,您应该在应用程序状态的某个位置的内存中有一个经过身份验证的用户列表。 if authenticatedSessions.get($username) != null then deny
并发会话控制是用户的PITA。示例:您在离开工作之前登录,然后上车,尝试从您的手机登录,现在您无法登录。考虑允许2个并发会话,或保持超时
Spring Security(Java)具有此功能。它是开源的,所以你可以获得灵感"它:http://docs.spring.io/autorepo/docs/spring-security/current/reference/htmlsingle/#ns-concurrent-sessions