开源邮箱系统如何实现单点登录
ExtMail邮箱系统,是面向大容量/ISP级应用,免费的高性能WebMail软件。很多中小企业都以该邮箱系统作为内部邮件服务。在使用过程中,免不了需要与业务系统进行集成,以便用户可以直接从业务系统里,登录邮箱系统。但,问题是ExtMail邮箱系统,是采用perl语言编写。这导致无法熟悉此语言的技术人员,无从下手。因此,下面将介绍如何实现ExtMail邮箱系统的单点登录功能:
1、如何根据帐号查询密码;
2、如何创建SID;
3、如何跳转到主页面。
操作方法
- 01
业务系统与邮箱系统的帐号必须一致。
- 02
在邮箱系统的extmail/cgi/目录下,创建一个文件:autoLogin.cgi
- 03
在autoLogin.cgi文件里,添加查询语句。 代码如下: db = MySQLdb.connect(**DB_CFG) stmt_query = "SELECT password FROM mailbox WHERE username='%s'" username = '%s@%s' % (username, cfg.domain) stmt_query = stmt_query % username db.query(stmt_query)
- 04
在autoLogin.cgi文件里,添加创建SID语句。 代码如下: time = str(int(time.time())) sid = hashlib.md5(name).hexdigest() + time
- 05
在autoLogin.cgi文件里,添加跳转到主页面语句。 代码如下: head = 'Location: http://%s/extmail/cgi/folders.cgi?__mode=messages_list&sid=%s&folder=Inbox' % (server, sid)