利用SQL读取域账户

xubingjingme 2011-02-11 05:11:17
我想利用WINDOWS域账号里面的用户名和密码来实现验证登入。是否可以利用SQL来达到这个需求,谢谢
...全文
196 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
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验证就行了.

22,301

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧