ActiveDirectoryMembershipProvider用于validation用户
我想使用ActiveDirectoryMembershipProvider的ValidateUser
方法来validation用户是否存在于AD中。
我在表单中输入用户名和密码。 我想实例化提供程序并调用ValidateUser
我只是用post测试替换真值。
要做我想做的事情,我是否需要向提供商提供用户名和密码,以便它可以首先连接,即系统帐户..一旦建立,我可以检查我想要validation的用户?
谢谢,J
使用ASP.NET成员资格系统,重点是您不需要实例化提供程序类或任何东西 – 您定义的那个可立即在Membership
静态实例下可用。
因此,在您的情况下,只需确保配置正确,然后执行以下操作:
if (Membership.ValidateUser(UsernameTextbox.Text, PasswordTextbox.Text)) FormsAuthentication.RedirectFromLoginPage(UsernameTextbox.Text, NotPublicCheckBox.Checked); else Msg.Text = "Login failed. Please check your user name and password and try again.";
Membership
将是您定义的必要类 – 只需调用静态方法并完成它! 🙂
更新:您似乎应该可以在这些行中轻松实例化多个成员资格提供程序:
if (e.UserName.IndexOf("@contoso.com") >= 0) { e.Authenticated = Membership.Providers["ContosoSqlProvider"].ValidateUser(e.UserName, e.Password); } else if (e.UserName.IndexOf("@fabrikam.com") >= 0) { e.Authenticated = Membership.Providers["FabrikamSqlProvider"].ValidateUser(e.UserName, e.Password); } else { e.Authenticated = Membership.Provider.ValidateUser(e.UserName, e.Password); }
基本上,您可以通过Membership.Providers["FabrikamSqlProvider"]
访问它来获取特定的成员资格提供者,然后调用它上面的方法,如.ValidateUser()
。
基本的Membership.ValidateUser
将使用您已定义为默认的成员资格提供程序 – 但它不会阻止您使用其他人!
- 活动目录:获取用户所在的组
- 密码更改Active Directory用户时出错
- UserPrincipals.GetAuthorizationGroups枚举组时发生错误(1301)。 升级到Server 2012域控制器后
- 在Active Directory中,如何确定ActiveDirectoryAccessRule的类型?
- 如何在c#中从SmartCard读取凭据
- C#Active Directory调用“ChangePassword”无法联系域
- c#检查一个组的用户成员?
- 我可以从WindowsPrincipal获取Active Directory属性吗?
- 创建DirectoryEntry实例以用于测试