我有一个新的ASP.NET网页,我试图使用Active Directory中定义的包含授权AD用户名称的安全组来保护(第一次)应用程序。
我为应用程序定义了一个虚拟目录(另一台服务器上的目录)。共享虚拟目录,安全组(各个用户的成员)可以访问相关服务器上的目录。
这一切都发生在同一个域上。
应用程序在单独的应用程序池中运行
以下是WEB.CONFIG
<authentication mode="Windows" >
</authentication>
<authorization>
<deny users="?"/>
</authorization>
以下是按钮背后的一段测试代码
string theSSID = "";
if (Request.LogonUserIdentity.IsAuthenticated)
{
theSSID = Request.LogonUserIdentity.User.ToString();
Label1.Text = "<br />Valid User : " + Request.LogonUserIdentity.Name.ToString() + " SSID = " + theSSID + "<br />";
try
{
Label1.Text = Label1.Text + "<br />" + "A. Writing log file";
string strFilePath = System.Web.Hosting.HostingEnvironment.MapPath(@"\Banking_UpLoad_Files\") + "CS_Log.txt";
Label1.Text = Label1.Text + "<br />" + "B. Path For Log file " + strFilePath;
StreamWriter sw = File.CreateText(strFilePath);
Label1.Text = Label1.Text + "<br />" + "C. File " + strFilePath + "Written To Network Directory";
}
catch (Exception ex)
{
Label1.Text = Label1.Text + "<br />" + ex.Message;
Label1.Text = Label1.Text + "<br />" + "2 .Access log from " + DateTime.Now.ToString();
Label1.Text = Label1.Text + "<br />" + "2 .User: " + Request.LogonUserIdentity.User;
Label1.Text = Label1.Text + "<br />" + "2 .Name: " + Request.LogonUserIdentity.Name;
Label1.Text = Label1.Text + "<br />" + "2 .AuthenticationType: " + Request.LogonUserIdentity.AuthenticationType;
Label1.Text = Label1.Text + "<br />" + "2 .ImpersonationLevel: " + Request.LogonUserIdentity.ImpersonationLevel;
Label1.Text = Label1.Text + "<br />" + "2 .IsAnonymous: " + Request.LogonUserIdentity.IsAnonymous;
Label1.Text = Label1.Text + "<br />" + "2 .IsGuest: " + Request.LogonUserIdentity.IsGuest;
Label1.Text = Label1.Text + "<br />" + "2 .IsSystem: " + Request.LogonUserIdentity.IsSystem;
Label1.Text = Label1.Text + "<br />" + "2 .Owner: " + Request.LogonUserIdentity.Owner;
Label1.Text = Label1.Text + "<br />" + "2 .Token: " + Request.LogonUserIdentity.Token + "<br />";
}
}
Label1.Text = Label1.Text + "<br />4. Complete <br />";
在.Net Server上运行时,上面的代码会生成以下输出
如果“应用程序池”设置为“网络服务”,则输出为
有效用户:RPS-DUNDEE \ wilson SSID = ************************
一个。写日志文件 B.日志文件路径\ RPS-Nas-2 \ Finance \ Banking上传文件\ CS_Log.txt
拒绝访问路径'\ RPS-Nas-2 \ Finance \ Banking Upload Files \ CS_Log.txt'。
2.从2015年2月25日12:47:31访问日志 2,用户:******************************** 2。名称:RPS-DUNDEE \威尔逊 2.AuthenticationType:谈判 2.ImpersonationLevel:假冒 2,IsAnonymous:错 2 .IsGuest:错 2,系统:错误 2。所有者:S-1-5-32-544 2.Token:1680
如果应用程序池设置为本地服务,则错误为
拒绝访问路径'\ RPS-Nas-2 \ Finance \ Banking Upload Files \ CS_Log.txt'。
如果Application pool设置为Configurable(User Name = IWAM_DUN-SERVER3),那么错误是
登录失败:未知的用户名或密码错误。
任何人都可以提供帮助,因为这会让我摆脱困境。
提前致谢并提供任何协助
伊恩
答案 0 :(得分:0)
是&#34; IWAM_DUN-SERVER3&#34; AD用户?
如果不是,请在AD中创建它!
然后,尝试定义您的应用池标识,如下所示:IWAM_DUN-SERVER3@domain.com