11 内置单点登录
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
我们在前面列举了多种解决方案,但是在实践中,当我们用到统一用户登录的时候,我们可以首先考虑一下,Drupal内置的统一用户登录是否适用。是的,Drupal自带了一种统一用户登录解决方案。
内容包括drupal7教程,drupal7汉化,drupal7主题,drupal7模板,drupal7中文手册,drupal7 views,drupal7中文,drupal7安装,drupal7开发,drupal7视频,等
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
我们在前面列举了多种解决方案,但是在实践中,当我们用到统一用户登录的时候,我们可以首先考虑一下,Drupal内置的统一用户登录是否适用。是的,Drupal自带了一种统一用户登录解决方案。
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
实际情况不同,解决Drupal与其它站点、系统之间的用户同步的方式也不尽相同。Drupal有多个第三方模块,用来解决这样的问题。我们对常用的这些第三方模块加以介绍,方便大家根据自己的实际情况,选择对应的解决方案。
者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
我们首先来看一个简单的实例。如果一个单位使用了Drupal6搭建了自己的网站,觉得比较好用,在另一个新建网站上使用了Drupal7,然后提出了这样的需求,那就是Drupal6站点的用户能够直接登录到Drupal7上,这里假定两个网站都放在同一个服务器上。
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
如果我们的站点非常简单,那么使用Drupal自带的用户系统就可以了。对于稍微复杂一点的站点,比如我们的站点使用Discuz作为论坛,此时就有了Drupal与Discuz用户集成的需求。除了与常见的Discuz集成以外,在实际中,还存在与.net系统,Java网站系统的用户集成。Drupal的用户系统,为我们提供了这样的机制,能够方便的与各种异构系统相集成。
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
最后,让我们在这个模块中,再增加一个需求,那就是为用户增加一个真实姓名,当显示用户名字时,我们使用真实姓名来代替默认的username。
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
接下来,让我们看一下,当用户登录时,检查他是否创建了班级节点,如果没有创建,提示它创建,如果创建了但是信息不完善,提示他完善班级的资料信息。向module文件中添加以下代码:
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
我们现在想要在用户的主页显示班级信息,这样用户登录进来就能看到自己的班级。向module文件中添加以下代码:
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
我们来看一个来自于实践的实例,有这样的一个网站需求,它用来展示一个中学各个班级的相关信息。注册用户为班级的班主任,每个班主任可以创建一个班级。在这里,班主任就是Drupal中的用户,班级就可以处理成为Drupal中的节点,一个用户只可以创建一个班级节点,这有相应的第三方模块可以控制,我们在这里不讨论这个。在这里,我们关注一个与我们的用户系统相关的需求,当班主任注册自己的帐户时,他希望能够同时输入班级的名字,在创建自己的帐户时,同时创建了班级节点;当班主任登录时,检查它所填写的班级信息的完整性,如果部分信息没有填完,将其重定向到班级的编辑页面,并提示他完善班级信息。