利用SQL读取域账户

xubingjingme 2011-02-11 05:11:17
我想利用WINDOWS域账号里面的用户名和密码来实现验证登入。是否可以利用SQL来达到这个需求,谢谢
...全文
153 点赞 收藏 16
写回复
16 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
billpu 2011-02-14
楼主的问题不明确
你是要通过sqlserver来认证windows信息(信任链接)还是要通过sqlserver来读取用户的用户名和密码
这两者完全是两回事
回复
高山 2011-02-14
[Quote=引用楼主 xubingjingme 的回复:]
我想利用WINDOWS域账号里面的用户名和密码来实现验证登入。是否可以利用SQL来达到这个需求,谢谢
[/Quote]

我认为不可能实现,因为不是用户直接执行SQL语句
要是通过应用程序或者其他方式还是可以
回复
coleling 2011-02-12
如果只是取得域用户名的话,可以这样:

select nt_domain,nt_user_name from sys.dm_exec_sessions where session_id = @@SPID
回复
xubingjingme 2011-02-12
有没有高手可以解决啊~~~其实C#中可以实现啊,SQL server中也应该可以实现啊
回复
xubingjingme 2011-02-12
[Quote=引用 8 楼 xubingjingme 的回复:]

提示没有权限
[/Quote]
我觉得应该可以实现,很多软件都有域验证的形式,这样就不必再设置密码了。密码是读不出来的,但WINdows应该提供某些方式给程序员验证的
回复
coleling 2011-02-12
[Quote=引用 3 楼 xubingjingme 的回复:]

可能误解了,我是说我要做个OA系统中的登入模块,我想通过SQL实现读取域里面的账号进行验证
[/Quote]

没做过,不过我认为这不可行。
因为如果想进行验证的话,则必须有账号和密码。
但要是写一条SQL命令就能把域账号/密码取出来,那Windows的安全性也太杯具了。
回复
xubingjingme 2011-02-12
提示没有权限
回复
cjzm83 2011-02-12
[Quote=引用 8 楼 xubingjingme 的回复:]
提示没有权限
[/Quote]

你登陆sql server 的账号是domain user么,如果是的话,这个domain user有权限查AD么?
回复
xubingjingme 2011-02-12
[Quote=引用 12 楼 coleling 的回复:]

如果只是取得域用户名的话,可以这样:

SQL code
select nt_domain,nt_user_name from sys.dm_exec_sessions where session_id = @@SPID
[/Quote]
当然也要去的用户的域密码来做比较啊
回复
cjzm83 2011-02-11


EXEC sp_addlinkedserver 'ADSI', 'Active Directory Services 2.5', 'ADSDSOObject', 'adsdatasource'


sp_configure 'show advanced options', 1
reconfigure with override

sp_configure 'Ad Hoc Distributed Queries', 1
reconfigure

SELECT * FROM OpenQuery(ADSI, 'SELECT * FROM ''LDAP://DC=kodyaz,DC=com'' WHERE objectCategory=''user'' ')

SELECT * FROM OpenQuery(ADSI, 'SELECT mail, displayName, userPrincipalName FROM ''LDAP://DC=kodyaz,DC=com'' WHERE objectCategory=''user'' ')





回复
xubingjingme 2011-02-11
select cn, co, department, distinguishedName, givenName, employeeID, mail, mailNickname, " & _
"physicalDeliveryOfficeName, sn, st, telephoneNumber, title, userAccountControl from ' " & strADPath & " '
Com.CommandText = strQueryAD
rs = Com.Execute

strADPath=GC://10.28.133.108/CN=admin,CN=Users,DC=cntkbl10,DC=net

不知道有没有人实现过
回复
dawugui 2011-02-11
[Quote=引用 3 楼 xubingjingme 的回复:]
可能误解了,我是说我要做个OA系统中的登入模块,我想通过SQL实现读取域里面的账号进行验证
[/Quote]没做过,帮顶.
回复
xubingjingme 2011-02-11
可能误解了,我是说我要做个OA系统中的登入模块,我想通过SQL实现读取域里面的账号进行验证
回复
rucypli 2011-02-11
好像不行
回复
dawugui 2011-02-11
[Quote=引用楼主 xubingjingme 的回复:]
我想利用WINDOWS域账号里面的用户名和密码来实现验证登入。是否可以利用SQL来达到这个需求,谢谢
[/Quote]
你把登录设置成windows验证就行了.
回复
相关推荐
发帖
疑难问题
创建于2007-09-28

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
帖子事件
创建了帖子
2011-02-11 05:11
社区公告
暂无公告