Asp.net 程序登陆 Active Directory 出错

问题描述

我做了一段登陆公司域的程序,但出先了很难找的错误,在VS2005里开发环境下可以登陆域帐户,但一旦生成网站,并把网站发布出去,就无法登陆域帐户了,开发和发布后都是在同一台机器上,是已经加入域的机器.返回错误信息是Errorauthenticatinguser.指定的域不存在,或无法联系。说明:执行当前Web请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。异常详细信息:System.Exception:Errorauthenticatinguser.指定的域不存在,或无法联系。源错误:执行当前Web请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。堆栈跟踪:[Exception:Errorauthenticatinguser.指定的域不存在,或无法联系。]WebexUser.IsAuthenticated(Stringdomain,Stringusername,Stringpwd)+327LogIn_Controls.DoaminUserLogIn(Stringusername,Stringpassword)+107LogIn_Controls.Button1_Click(Objectsender,EventArgse)+94System.Web.UI.WebControls.Button.OnClick(EventArgse)+105System.Web.UI.WebControls.Button.RaisePostBackEvent(StringeventArgument)+107System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(StringeventArgument)+7System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandlersourceControl,StringeventArgument)+11System.Web.UI.Page.RaisePostBackEvent(NameValueCollectionpostData)+33System.Web.UI.Page.ProcessRequestMain(BooleanincludeStagesBeforeAsyncPoint,BooleanincludeStagesAfterAsyncPoint)+5102那位高人知道原因?

解决方案

解决方案二:
网站服务器是否可以访问域啊
解决方案三:
开发和发布后都在一台机器上,在VS2005调试开发环境下可以登陆域,但一发布后就出现上述错误,调试又不能调试,真让我愁死了,谁能给个思路.
解决方案四:
这台机器是加入域的
解决方案五:
权限不够,你可以用一有效域用户模拟登陆后再执行你的代码
解决方案六:
asp.net项设为2.0
解决方案七:
asp.net是设置为2.0的开发调试环境下,用我公司的域帐户是可以登陆的,但在同一台机器上,一旦发布到同一台机器的IIS下,就会出项上述错误.网上有人说是ASPNET这个用户权限不够,我看了,在这台机器上是隶属于User用户组的,没有问题啊
解决方案八:
可否把关键代码贴出来看看?我们一直通过web进行域用户的管理,没遇到过此情况
解决方案九:
我用弹出窗体的办法跟踪,发现在WebMsgBox.Show("begintry...!")弹出后出错的,也就是说objectobj=entry.NativeObject;出错,domainAndUsername="a.company.com\User1"_path="LDAP://DC=a,DC=company,DC=com"publicboolIsAuthenticated(stringdomain,stringusername,stringpwd){WebMsgBox.Show("beginauthor!");stringdomainAndUsername=domain+@""+username;//domainAndUsername="a.company.com\User1"//_path="LDAP://DC=a,DC=company,DC=com"DirectoryEntryentry=newDirectoryEntry(_path,domainAndUsername,pwd);WebMsgBox.Show("begintry...!");try{objectobj=entry.NativeObject;WebMsgBox.Show("beginnewaDirectorySearcher...!");DirectorySearchersearch=newDirectorySearcher(entry);WebMsgBox.Show("finishednewaDirectorySearcher...!");search.Filter="(SAMAccountName="+username+")";search.PropertiesToLoad.Add("cn");WebMsgBox.Show("beginsearch...!");SearchResultresult=search.FindOne();WebMsgBox.Show("searchcomplete...!");if(null==result){returnfalse;}//Updatethenewpathtotheuserinthedirectory._path=result.Path;_filterAttribute=(string)result.Properties["cn"][0];returntrue;}catch(Exceptionex){thrownewException("Errorauthenticatinguser."+ex.Message);//}
解决方案十:
郁闷死了,调试状态这一行没有问题的
解决方案十一:
呵呵。。如果我没有猜错的话应该是IE的设置出现了问题,在IE的设置上把关于Script和ActiveX有关的东西都设为有效。。估计就没有问题了。。
解决方案十二:
我刚在FIREFOX里试了一下,也不行,我感觉不应该和IE设置有关系
解决方案十三:
该回复于2008-03-13 08:48:09被版主删除
解决方案十四:
该回复于2008-03-13 08:48:08被版主删除
解决方案十五:
权限问题!在IIS里设置你的WebApplication的虚拟目录的安全认证!
解决方案:
帮你顶起来

时间: 2016-06-28

Asp.net 程序登陆 Active Directory 出错的相关文章

在azure的active directory中注册一个程序

问题描述 在azure的active directory中注册一个程序 你好,我在active directory中添加了一个程序,在CONFIGURE的最后"Permissions to other applications"是不能选择office365的应用,上面没列出来提供选择. 1.我这个账号是有office365功能的,上面也有试用的licence的. 2.开始是有office365的应用提供选择的,后来我测试删除了,就再也不会出来了. 3.点击"Add Appli

asp.net程序中最常用的三十三种编程代码

asp.net|编程|程序 asp.net程序中最常用的三十三种编程代码,为初学者多多积累经验,为高手们归纳总结,看了觉得很有价值~,大家不妨参考下!  1. 打开新的窗口并传送参数:   传送参数:  response.write("<script>window.open('*.aspx?id="+this.DropDownList1.SelectIndex+"&id1="+...+"')</script>") 

如何写出优秀的ASP应用程序

程序 怎样创建鲁棒性.正确性.可维护性和性能俱佳的ASP应用程序?要做什么?不做什么?本文以提纲的形式,给出了主要的Check-Points(检查点). 什么是ASP Active Server Page,简称ASP,是: l连接网友界面(HTML)和商业逻辑(Business Logic): l提供一致的.容易使用的.有状态保持的.基于WEB的客户端: l为那些需要事务处理的WEB 应用提供应用程序环境. ASP不是: l 实现商业逻辑(Business Logic)的地方:商业逻辑应该通过C

ASP.NET程序中常用的三十三种代码

asp.net|程序     1. 打开新的窗口并传送参数: 传送参数: response.write("<script>window.open('*.aspx?id="+this.DropDownList1.SelectIndex+"&id1="+...+"')</script>") 接收参数: string a = Request.QueryString("id");string b = R

单一登录: Active Directory联合身份验证服务开发简介

本文讨论: 什么是联合身份验证 使用 ADFS 在 ASP.NET 应用程序中实现联合身份验证 信任关系和安全性注意事项 本文使用了以下技术: ADFS 和 ASP.NET Active Directory 联合身份验证服务 (ADFS) 是 Windows Server 2003 R2 最重要的组件之一.ADFS 能够 解决很多问题,而其中最显而易见的就是企业到企业的自动化控制问题.在这篇文章中,我将从一个开发 人员的角度来分析 ADFS,我们假设这个开发人员正在构建一个 Web 应用程序,而

ASP.NET程序中常用编程代码

ASP.NET程序中常用编程代码 1.为按钮添加确认对话框 Button1.Attributes.Add("onclick","return confirm('确认?')");button.attributes.add("onclick","if(confirm('are you sure...?')){return true;}else{return false;}") 2.删除表格选定记录 //获得DataGrid主键in

保护内网域安全之扫描Active Directory特权和特权帐户(一)

本文讲的是保护内网域安全之扫描Active Directory特权和特权帐户(一),因为攻击者的一些原因,Active Directory Recon成为了新的热点,Red Teamers和渗透测试人员已经意识到越过企业组织来控制Active Directory的权限. 在2016年的Black Hat&DEF CON会议期间,我分别站在Black Team和Red Team的角度,使用PowerView(由Will @ harmj0y 编写)列举了使用AD中的权限. 这篇文章详细介绍了如何在A

chat.asp聊天程序的编写方法_应用技巧

可能朋友们已经在一些杂志上看到过 ASP 聊天程序的编写方法,但作者在这里自己写了一个更简单的程序,仅仅使用了一个 .asp 文件.请将以下代码剪贴到记事簿并保存为chat.asp. < %@ Language=VBScript %> < % Response.Buffer=true ' 设置输出缓存,用于显示不同页面. On error resume next ' 忽略程序出错部分 If Request.ServerVariables("Request_Method"

ASP.NET程序中常用代码汇总_实用技巧

1. 打开新的窗口并传送参数: //传送参数: response.write("<script>window.open('*.aspx?id="+this.DropDownList1.SelectIndex+"&id1="++"')</script>") //接收参数: string a = Request.QueryString("id"); string b = Request.QueryS