我正在使用 django 构建一个应用程序,并且我使用单点登录系统作为我的身份验证系统。我想确定用户是否从未访问过该站点,这意味着如果在创建记录之前我的表中没有记录,则显示协议页面,如果用户拒绝,则不要将用户登录到系统.
如何从我的中间件访问视图以获得协议(是/否)
try:
shib_user = ShibUser.objects.get(shib_username=username)
user = shib_user.auth_user
user.backend = "django.contrib.auth.backends.RemoteUserBackend"
except ObjectDoesNotExist:
# I think this is where I should be calling my view?
user = auth.authenticate(remote_user=username)
user.shibuser_set.create(shib_username=username, shib_user_role=shib_uRole)
基本上流程应该是如果用户单击登录链接-> 如果用户存在则检查此用户是否已存在于我的 auth_table 中,这意味着如果未显示协议,则用户已经看过协议,如果同意则在 auth_user 中创建记录