微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

是否可以让PHP脚本使用Linux用户信息对用户进行身份验证?

我目前正在尝试为我的公司扩展我的PHP驱动的Intranet站点.它本质上是一堆杂项报告和实用程序,我把它们放在一起并链接到内部网络服务器上.每当人们不断想要完成相同的任务时,我会尽可能地编写脚本并将其放在内部网页面上,这样人们就可以在没有我帮助的情况下完成任务.

到目前为止,这种方法运作良好,但有一些实用程序需要仅限于管理人员等.现在,我知道我可以创建一个完整的注册系统来对用户进行身份验证,就像在公共网站上做的那样,但坦率地说,这对所有参与者来说都是一种痛苦.所有用户已经在与apache相同的服务器上拥有一个Linux用户帐户,所以我认为如果我可以创建一个登录表单来验证用户的系统用户名/密码,然后检查他们的组,那会好得多看看他们是否有权做他们想要做的事情(在这种情况下,他们将属于已经存在的“经理”组).如果我能把它拉下来,对每个人来说似乎都是双赢的.用户不必注册和记住/维护/更新另一组凭据,当我想添加删除用户时,我没有做任何额外的事情.

这是可能吗?如果没有任何预先存在的库来执行此操作,我可以直接执行此操作并让PHP读入并处理/ etc / passwd,/ etc / shadow和/ etc / group吗?

解决方法:

要直接访问Linux的身份验证系统,您可以查看使用PAM模块:

http://pecl.php.net/package/PAM

根据文档,您需要配置pam以允许PHP访问它.之后,您可以调用pam_auth函数来验证用户名/密码组合:

if (pam_auth($username, $password))
{
    // SUCCESS!!!
}
else
{
    // FAILURE :(
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐