首页 >> 技术文章 >> SharePoint 2007/MOSS2007


网络注册用户+Windows认证

Form认证简直就是个鸡肋,怎么用都不好用。
突发奇想,可否采取将两种方法结合在一起呢?
说干就干!
基本思路是采用网络注册记录用户注册信息,后台写个脚本读取这些信息并注册成windows用户,并指定到特定用户组。
准备工作:
1.在“Active Directory用户和计算机”管理中,新建Group,命名为“网络注册用户”(任意),组作用域选择“本地域”,组类型选择“安全组”。
2.准备一张access表,定义几个注册信息字段,如userid、username、password、reg_ok等。
前台写入数据表的程序略,请自己想办法
后台处理程序俺采用的是HTA,参考如下:
-------------------------------------
文件名:back_reg.hta
<meta http-equiv="Refresh" content="5;url=back_reg.hta"><!--每5秒刷新-->
<script language="VBScript">
Set fso = CreateObject("Scripting.FileSystemObject")
set ws = CreateObject("WScript.Shell")
Set conn = CreateObject("adodb.connection")
Set rs = CreateObject("ADODB.Recordset")
dbpath = "user.mdb"
connstr = "provider=microsoft.jet.oledb.4.0;data source=" & dbpath
conn.Open connstr
sqlstr="select top 1 * from userdb where reg_ok = 0"
rs.open sqlstr,conn
if not rs.eof then
''''直接连续执行ws.run,总是不能完全将注册用户加入指定用户组,采取先写入bat文件的办法
userid = rs("userid")
password = rs("password")
'ws.run "%Systemroot%/system32/net.exe user "& userid & " " & rs("password") & " /add"
'ws.run "%Systemroot%/system32/net.exe localgroup 网络注册用户 " & userid & " /add"
conn.execute("update userdb set reg_ok=1 where userid = '" & rs("userid") &"'")
Set f = fso.opentextfile(userid &".bat",2,true)
'1: forreading
'2: forwriting
'8: appending
f.writeline "net user " & userid & " " & password & " /add"
f.writeline "net localgroup 网络注册用户 "&userid&" /add"
f.close
ws.run "D:\dida_db_data\网络注册用户数据表\"&userid&".bat"
end if
if rs.state then rs.close
set rs = nothing
if conn.state then conn.close
set conn = nothing
Set f = Nothing
Set fso= Nothing
set ws = nothing
</script>
--------------------------------------------

发现的问题,如果在HTA中接连直接ws.run 两个net语句,第二个偶尔没执行结果,屡试不爽,后来把这两个语句写入到一个bat文件,在run这个bat,成功。
命令说明:
net user user01 12345 /add '添加user01 密码12345为windows用户
net localgroup 网络注册用户 user01 /add '将user01添加到组‘网络注册用户’
具体可在cmd下输入:net /?

BTW:
sql server中有个xp_cmdshell过程,打开后可使用sa账号可以执行windows命令,俺也试验了,可以创建用户,并可将用户权限提升到administrator,这是相当危险的。
有些黑客软件就是利用破弱sa密码,然后使用xp_cmdshell来执行命令,进而控制整个机器。
如果你不怕死,也可以直接网络注册页面直接处理创建windows用户,这样也可以达到目的。
哈哈!
以上仅是本人的探索,仅供参考,请慎重使用。
作者:jnudida

声明:欢迎各大网站转载本站文章,还请保留一条能直接指向本站的超级链接,谢谢!

时间:2008-6-30 21:43:46,点击:0打印】【关闭

上一篇:以人为导向的MOSS请假工作流的开发
下一篇:如何设置图片库图片预览的大小

OfficeBa论坛】:阅读本文时遇到了什么问题,可以到论坛进行交流!Excel专家邮件:342327115@qq.com(大家在Excel使用中遇到什么问题,可以咨询此邮箱)。

【声明】:以上文章或资料除注明为Office吧自创或编辑整理外,均为各方收集或网友推荐所得。其中摘录的内容以共享、研究为目的,不存在任何商业考虑。如有任何异议,请与本站联系,本站确认后将立即撤下。谢谢您的支持与理解!


相关评论

我要评论

查看所有评论内容

评论内容