首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在asp.net c#中使用活动目录自动登录

问在asp.net c#中使用活动目录自动登录
EN

Stack Overflow用户
提问于 2013-08-08 07:39:09
回答 1查看 728关注 0票数 1

我正在创建asp.net web application。在这方面,我使用活动目录登录。我有一个名为Validusers的组,当用户登录时,它会将用户检查到该validusers组。如果用户存在于组中,则登录成功,如果没有登录失败。

我做了所有的事情,它在我的本地机器上工作很好,但是当我发布这个网站的时候,它不起作用。我得到了以下错误

代码语言:javascript
复制
 Logon failure: unknown user name or bad password. 

在我的机器上,它运行良好,在发布时我得到了一个错误。我使用了下面的代码供您参考

代码语言:javascript
复制
PrincipalContext ctx = new PrincipalContext(ContextType.Domain, "DomainName");
System.Security.Principal.WindowsIdentity MyIdentity = System.Security.Principal.WindowsIdentity.GetCurrent();
string LogUser = MyIdentity.Name.ToString();
UserPrincipal user = UserPrincipal.FindByIdentity(ctx, LogUser);
GroupPrincipal group = GroupPrincipal.FindByIdentity(ctx, "Validusers");Validusers---->Groupname
 if (user.IsMemberOf(group))
 {
    Login success
 }
else
{
Login Failed
}

它将检查登录用户与group.if,用户存在于组中,然后登录是成功的,否则失败登录。当我发布这个website.please给出一些解决方案时,我遇到了一个错误

EN

回答 1

Stack Overflow用户

发布于 2014-02-04 18:43:40

虽然您很少向开发机器和web服务器提供有关域和网络关系的信息,但我假设web服务器与您所依赖的Active Directory服务器没有物理连接。那么web服务器就不可能查询AD目录了。如果web和AD服务器位于同一网络上,则可能需要在web服务器和AD服务器的防火墙设置上工作,以确保它们能够通信。如果web和AD服务器没有通信问题,您应该检查该“Validuser”是否适用于运行在web服务器上的代码。当IIS应用程序使用为承载应用程序的应用程序池定义的用户帐户运行时,您应该确保应用程序池标识具有足够的权限来访问这些微妙的信息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18120477

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档