使用api函数
Public Declare Function LogonUser Lib "kernel32" Alias "LogonUserA" (ByVal lpszUsername As String, ByVal lpszDomain As String, ByVal lpszPassword As String, ByVal dwLogonType As Long, ByVal dwLogonProvider As Long, phToken As Long) As Long
你可以把它封装到一个应用组件中
Public Declare Function LogonUser Lib "kernel32" Alias "LogonUserA" (ByVal lpszUsername As String, ByVal lpszDomain As String, ByVal lpszPassword As String, ByVal dwLogonType As Long, ByVal dwLogonProvider As Long, phToken As Long) As Long
你可以把它封装到一个应用组件中
解决方案 »
- VB或者是 ATX DLL 的问题, 怎么得到自身的模块句柄?
- 大家谁知道VSFLEXGRID7.0控件能否实现自动滚动?
- 简单问题,先到先得分
- 一个关于模块的问题.大侠们快帮帮忙呀!!!!
- VB打包时安装目录是如何创建的???急急急
- 这个sql语句怎么写???????????
- ●●●● 并口通信中,dio.dll文件的问题 ●●●●●
- 帮忙看一下这段代码出了什么错?要多少分都可以商量!!!
- 怎样使用datagrid?
- ★★★各位大哥,怎么由窗体向水晶报表中传递检索参数,急死我了,帮帮忙吧!!!
- 做了一个用ADSI来管理WIN2000帐号的程序,可是adtiveds.tlb注册不上!!
- vb7的安装问题
只要将你的asp或html放在nt的一个ntfs目录上,给该目录指定相应的权限就可
这样,当别人用ie访问时就会先弹出一个验证框,只有通过验证才能继续。
如果可能,多给点分,我正缺
成功的话这35分全是你的。
在ASP中用ADSI验证NT用户,无非是象下面这样的东西。
IADsUser pUser;
BSTR bstrName;
HRESULT hr;
hr = ADsGetObject(L"WinNT://MyDomain/Users/John",
IID_IADsUser,
(void**) &pUser);当然,ADSI可以做很多事,包括管理NT用户,但是我至今
没发现ADSI中提供验证用户的方法。我的意思是ADSI中提
供一个方法,参数是用户名和密码以及验证域,然后它返
回哪怕是个布而值,来告诉我验证是否通过也行。但是,我没有找到 :(你知道吗?说实话,从实现角度来讲,我更倾向使用ADSI,但我真的知之甚少。
肯请帮助!
我改了改如下:如果LOGIN失败了,当然就可以证明密码和用户名不对。但我还是不知道如何分别判断是密码错了,还是用户名不对,反正登陆不了,肯定有一个不对。
另外用ADSI做完后,在客户方安装注错时,ACTIVEDS.TLB不能注册,MS说好像是和MDAC有冲突
见http://support.microsoft.com/support/kb/articles/Q275/9/17.ASP?LN=EN-US&SD=g
不知有没有人解决这个问题!!!!!! microsoft.public.active.directory.interfaces
上有人问过,但也没见有好办法。真麻烦:(Private Sub Login_Click()
Dim dso As IADsOpenDSObject
Dim domain As IADsDomain
On Error GoTo failed
Set dso = GetObject("WinNT:")
Set domain = dso.OpenDSObject("WinNT://MyDomain", "Administrator", "", ADS_SECURE_AUTHENTICATION)
MsgBox ("login successful")
Exit Sub
failed:
MsgBox ("failed")
End Sub
其实验证用户录入的用户名和密码,可以用那个用户名和密码去登陆到服务器,登陆不上就不对了。
http://www.vbsquare.com/articles/ntvb/