怎么在ASP程序中得到域用户的信息?
上网找了一些资料,发现大部分人都用到了System.DirectoryServices类,还有一牛人写了一个ADHelp的类,可以模拟AD的操作。http://blog.joycode.com/liuhuimiao/articles/20946.aspx。
不过对于我来说,只是想知道访问ASP程序的用户的一些信息的话,用不着这么麻烦。其实有一个类System.Environment可以直接获得客户端的一些信息。其中的UserDomainName、UserName、MachineName分别对应的是域名(工作组名)、windows登录名和机器名。
这样就OK啦。
<%@ Page Language="VB" %>
<%@ Import Namespace="System.DirectoryServices" %>
<%@ Import Namespace="System.Environment" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
Response.Write(System.Environment.UserDomainName() + "/" + System.Environment.UserName())
Response.Write("<BR/>" + System.Environment.MachineName())
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
Over!
<br />
</div>
</form>
</body>
</html>
注:IIS的服务器上不能设置为匿名访问,否则显示出来的帐户都是服务器的IIS的启动账户。