问题:SAML、匿名用户和阻止

Steps to reproduce:

  • User A, a SAML user exists
  • Admin want, that User A is no longer able to use discourse
  • Admin uses the “anonymize user” function for user A (all entries are no anonymized => thats good)
  • Admin want to block further access of user A and therefore want to block him (block user function)

Note: the user was not removed from SAML server and is still active

Expected:
Even that the user does still exist on SAML server, the user should not be able to log in because he/she is blocked.

Current behavior:
The user is able to log in.

Have you tried suspending the user account within Discourse?

sorry, Instead of “block” I mean “suspend”.
Yes, I tried this.

The issue is, that the user gets anonymized and therefore the username changes. I guess, saml doesn’t recognize this and adds a new user because saml can not find the user with its username (= because the user was anonymized before).

I guess, discourse-saml tries to find the user based on the username at https://github.com/discourse/discourse-saml/blob/230a58b2d86465ec8aa75fb755558d4fdda73773/lib/saml_authenticator.rb#L96

I think there need to be a way to match a anonymized user with the saml user data. Does someone know how and which attribute to validate?

抱歉打扰,但我们遇到了完全相同的问题。

  • 用户只能通过 SSO 提供商登录。
  • 用户 A 被禁止访问论坛,但未被禁止访问 SSO。
  • 用户 A 请求删除用户数据,因此我们将其账户匿名化。
  • 用户 A 能够使用 SSO 登录创建新账户。

是否有办法手动暂停电子邮件而无需账户?

只需暂停新账户?

1 个赞

是的,您不希望用户有机会与论坛互动,也不希望您不断地监控谁是新用户。

应该有一种方法可以像阻止 IP 地址一样暂停电子邮件。

听起来您不明白如何处理用户请求的删除以及何时/何处不适用。\n\n当用户注册您的网站时,您有权出于注册目的处理其提供的信息(电子邮件和用户名)。该处理在用户被暂停并试图离开时并不会结束。\n\n您没有义务删除被禁止或暂停用户的电子邮件。被遗忘权不能取代处理目的。

这与GDPR以及用户要求删除其数据的权利如何兼容?

如果您保留他们的账户,这仍然与他们的数据相关联,并且即使在他们要求删除用户数据后,您仍然保留他们的信息。

老实说,我不是法律专家。

用户可以撤回其对个人数据处理的同意,但同意只是《通用数据保护条例》(GDPR)使数据处理合法的理由之一。

另一个理由可以是控制者的合法利益(第 6.1 条 f 款:处理对于控制者追求的合法利益是必要的)。这种合法利益可以是为了确保用户无法创建新帐户。否则,用户可能会滥用《通用数据保护条例》(GDPR)来删除所有记录,包括他们行为不端的记录。

《通用数据保护条例》(GDPR)第 17 条,重点是我自己。

  1. 数据主体有权要求控制者毫不延迟地删除与其相关的个人数据,并且在出现以下任一情况时,控制者有义务毫不延迟地删除个人数据:(…)
    数据主体撤回处理所依据的同意(…)并且在没有其他合法理由进行处理的情况下;

这基本上意味着:是的,论坛必须根据用户的要求删除用户数据,但由于论坛已暂停该用户,因此他们需要一种方法来确保该用户不会创建新帐户,因此他们有充分的理由在不顾用户要求的情况下,将已暂停用户的电子邮件地址保留在文件中。

在 Discourse 中,一种方法是匿名化(已暂停的)用户,然后将匿名化的电子邮件地址改回其真实电子邮件地址。您可能还希望基于同一理由保留其注册 IP 地址,并将其添加到阻止列表中。