【问题标题】:Security with several same usernames in Symfony 2Symfony 2 中多个相同用户名的安全性
【发布时间】:2011-12-01 22:36:51
【问题描述】:

我将更清楚地解释我的问题: 我正在开发一个使用 Symfony 2 设计的网站站。每个访问者都可以在一个网站上注册(由另一个人动态创建),这个访问者当然可以登录这个网站。

我希望访问者可以使用相同的用户名在多个网站上注册。因此,最终会有许多注册用户在多个网站上使用相同的用户名。

事实上是登录,安全只检查用户名和密码,我想扩展这个控制,通过检查访问者想要登录的当前网站ID来允许连接。

所以当用户在动态网站上发送登录表单时,我想检查网站ID,搜索附加的用户名,检查密码并登录该网站。

这里是我的实体:

Website
========
id
title

User
========
id
username
password
email
salt
website_id

总而言之,多个用户可以拥有相同的用户名,但在不同的网站上。 (相反,一个网站不能有多个相同的用户名)而且我不知道在这种情况下如何实现安全性!

有解决办法吗?

【问题讨论】:

    标签: php security symfony entity-relationship


    【解决方案1】:

    您需要一个非站点特定的集中式身份验证/凭据列表,然后将站点帐户链接到凭据,或者您需要能够将多个帐户关联在一起。换句话说,您需要查找所有同名的帐户,并为用户提供将这些帐户“链接”在一起的选项。当然,为了安全起见,在建立该链接之前,用户需要验证对链接帐户的访问权限,以便知道您没有被授予访问碰巧名称相同的帐户的权限,但这是不属于那个人。

    【讨论】:

    • 谢谢你的回答,其实网站真的是独立的,我不想关联用户的账户(对于不知道自己在网络平台上注册的用户来说,这不太实用) ,所以第二种选择是禁止。但是你能解释一下你的第一个想法吗:o?
    • 嗯,一个集中的身份验证系统可以是 CAS、LDAP 甚至 Facebook 登录之类的任何东西。这就是多服务单点登录的想法。
    • 好的,在这种情况下,我认为创建集中式身份验证是唯一的方法,我想我别无选择,谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-25
    • 1970-01-01
    • 2021-11-15
    • 1970-01-01
    • 1970-01-01
    • 2020-10-01
    • 2020-04-20
    相关资源
    最近更新 更多