PHP下使用ldap域账户认证密码

作者:tKC 发布时间:March 14, 2016 分类:IT技术,应用开发 No Comments

以前用过一个模块来调用认证域帐号的,后来发现引用代码太多,因为只是为了做帐号密码认证,不做其他任何查询什么的,所以干脆拔代码自己精简下,下面的代码只是利用了输入正确的帐号密码创建ldap连接来判断密码是否正确。

<?php
    if (isset($_POST['UserName']))
        {
        $_SESSION['txtNo']=$_POST['UserName'] ;
        $ldapConnect=ldap_connect('192.168.1.200' , '389' );  
        //建立到ldap服务器的连接192.168.1.200是ldap服务器ip,389是ldap服务器端口(默认389)  
            $bind= @ldap_bind($ldapConnect , $_POST['UserName'] . '@yourname.local',$_POST['PassWord'] );  
         //验证帐号密码,ldap_bind第一个为绑定的连接,第二个为用户名(注意是否有后缀),第三个为密码。  
            if($bind )  
            {//验证成功,跳转到ok.php
                $_SESSION['login']="ok";
        echo '<meta http-equiv="refresh" content="0;url=ok.php">';
            }  
            else  
            {//验证失败,弹出提示,并跳转回login.php
                echo "<script>alert('用户名或密码错误')</script>";
                echo '<meta http-equiv="refresh" content="0;url=login.php">';
         }  
            ldap_close($ldapConnect);   
        //关闭ldap连接  
        }
    else {
        echo "<script>alert('用户名或密码错误')</script>";
        echo '<meta http-equiv="refresh" content="0;url=login.php">';
    }
?>

Windows上配置PHP的LDAP扩展

作者:tKC 发布时间:March 14, 2016 分类:IT技术,服务软件 No Comments

写个程序,需要用到ldap的功能,发现报错,虽然php.ini打开了ldap的模块,但phpinfo中没有发现ldap扩展
搜索一番,发现,win下面还需要apache强制加载两个依赖库libeay32.dll和ssleay32.dll,
修改apache的配置文件,强制加载着两个扩展:

LoadFile "C:/PHP/ext/ssleay32.dll"
LoadFile "C:/PHP/ext/libeay32.dll"

重启即可。

Solaris10上开启VNC服务

作者:tKC 发布时间:April 9, 2015 分类:服务软件 No Comments

默认情况下,Solaris10已经把VNC安装好了
只需要简单开启服务并配置就可以使用
检查VNC服务状态
root# svcs -a | grep -i vnc
online 18:02:34 svc:/application/x11/xvnc-inetd:default

现在我们要开启这个服务
root# svcadm enable svc:/application/x11/xvnc-inetd:default
接着配置服务选项
root# echo "vnc-server\t5900/tcp\t\t\t# Xvnc" >>/etc/services
接着编辑/etc/X11/gdm/custom.conf文件
root# vi /etc/X11/gdm/custom.conf
如果没有则会创建该空文件,添加以下内容
[xdmcp]
Enable=true
[security]
DisallowTCP=false
AllowRoot=true
AllowRemoteRoot=true

然后禁用启用服务,接着检查服务状态
root# svcadm disable svc:/application/x11/xvnc-inetd:default
root# svcadm enable svc:/application/x11/xvnc-inetd:default
root# svcs svc:/application/x11/xvnc-inetd:default
online 18:15:00 svc:/application/x11/xvnc-inetd:default

如果是online则说明配置正确,最后可以使用你习惯的vnc客户端直接连接这个Solaris服务器了

Windows2012R2存储池硬盘故障更换硬盘

作者:tKC 发布时间:December 25, 2014 分类:微软 2 Comments

自从了解到Windows2012支持块去重和存储池以后,文件共享服务器装2012R2成了首选
有台N36L跑Windows2012R2,3Tx4做的存储池,里面虚拟磁盘做的mirror方式,所以允许损坏单侧的一半硬盘
刚好发现在拷贝数据的时候忽然变慢,用HDTune查看了一下,发现有坏道,于是换了块硬盘
由于之前在虚拟机下测试过,也在Win8.1下实际应用过更换硬盘,所以就想当然的关机,换硬盘,开机
在进入系统之后,手工添加新增的硬盘到存储池后,发现并没有自动恢复存储池
于是乎搜索了一番(如果是Win8.1它在添加完磁盘后会自动开始重组的)
经过若干个小时的数据备份(因为怕误操作导致数据丢失)
以下就是命令行的恢复方法
输入如下命令列出所有物理磁盘
Get-PhysicalDisk |? { $_.ObjectId.Contains( $PhysicalDiskGUID ) }
FriendlyName CanPool OperationalStatus HealthStatus Usage
------------ ------- ----------------- ------------ -----
PhysicalDisk3 False OK Healthy Auto-Select
PhysicalDisk1 False OK Healthy Auto-Select
PhysicalDisk0 False OK Healthy Auto-Select
PhysicalDisk4 False OK Healthy Auto-Select
PhysicalDisk2 False OK Healthy Auto-Select
PhysicalDisk-1 False Lost Communication Warning Retired

PhysicalDisk-1就是系统记录的更换下去的旧硬盘,显示状态为Lost Communication,我们需要输入以下命令让它“退休”
Set-PhysicalDisk -FriendlyName "PhysicalDisk-1" -Usage Retired
接着输入命令重组和坏硬盘相关的虚拟磁盘,我的虚拟磁盘命为vd1,你需要替换为你自己的虚拟磁盘名
Repair-VirtualDisk -FriendlyName vd1

阅读剩余部分...

Linux下GLPI和OCSNG新版整合安装原生支持UTF8

作者:tKC 发布时间:June 24, 2014 分类:IT技术,Linux,服务软件 No Comments

GLPI是非常优秀开源IT管理系统,包括资产统计、helpdesk等等功能,配合OCSNG还可以实现自动采集客户端软硬件信息。
虽然这套软件也有Windows版的,但Linux下的更加稳定,推荐在Linux上安装,本人之前写过一篇安装文章,那个时候为了收集中日文的计算机信息,还需要第三方的程序和修改glpi代码才能实现,现在这两个软件官方原生已经支持UTF8,不需要我们折腾了,不过安装过程依然不那么简单,呵呵
好了,先安装基本的Linux系统,本例使用的是CentOS6.0,GLPI版本0.84.5,OCSNG版本是2.1.1。

这里说一下默认光盘安装的CentOS6,有几个需要注意的地方,第一建议关闭防火墙和selinux,第二,配制好网卡,默认情况下,网卡开机是不启用的,需要修改配置文件
vi /etc/sysconfig/network-scripts/ifcfg-eth0

ONBOOT=no
改为
ONBOOT=yes

然后开始安装基础软件httpd,php,mysql,还需要下载一些软件
glpi-0.84.6.tar.gz
json-1.2.1.tar
OCSNG_UNIX_SERVER-2.1.1.tar.gz
OCSNG-Windows-Agent-2.1.1.zip
OCSNG-Windows-Packager-2.1RC1.zip

阅读剩余部分...