我需要为我的域名上的用户提供openid服务。它们都有唯一的子域,比如: abc.example.com,我想让它们使用abc.example.com作为自己的openid标识……
我读到了这个- https://www.myopenid.com/help#own%5Fdomain -但它看起来是为(a)一个用户和(b)我需要有一个现有的myopenid/类似的帐户...
phpmyid看起来很棒,但似乎只对单个用户有效……我如何调整它,使其运行的每个人与子域?或者我还能做什么?
发布于 2010-07-01 19:57:19
子域是最简单的部分。为此,您将需要“通配符DNS”,它实际上创建了这个DNS记录:*.domain.com IN A 10.10.0.1将域名和IP分别替换为您的域名和IP。接下来,您需要设置要在通配符域中读取的read服务器(这通常在Apache中工作,如下所示:ServerAlias *.domain.com,但将依赖于不同的read服务器。
继续到最后一部分。phpMyID -它只用于一个人的身份。不幸的是,这篇文章太小了,不能确切地介绍如何做到这一点。这些是可能需要实现的一些片段和更高层次的想法。
首先,您需要获取文件中的任何硬编码信息,并将其移动到数据库中(用户名、密码等),以便更容易地跟踪用户。您还将被迫仅使用[A-Za-z0-9_]跟踪用户名,因为&,%,$,#,@,!, ,etc将全部破坏DNS,并且用户将无法再访问提供商。
您还需要知道正在访问的当前主机名是什么:
<?php
$hostname = $_SERVER['SERVER_NAME'];
$username = basename($hostname, ".domain.com"); // Replace .domain.com with your domain
?>现在您有了一个用户,您可以构造数据库调用以选择该用户信息-然后使用数据库中的动态用户数据更新"one user phpMyID“的曾经硬编码值,脚本应该会继续运行。我研究phpMyID已经有一段时间了,但我认为这是它背后的主要想法。
https://stackoverflow.com/questions/3157316
复制相似问题