gpt4 book ai didi

asp.net - 在下次登录时更改密码以使用成员(member)提供者登录表单

转载 作者:行者123 更新时间:2023-12-02 05:11:12 24 4
gpt4 key购买 nike

我正在做 asp.net,将 FormsAuthentication 与 AdMembership proivder 结合使用。

我不得不手动编写“下次登录时更改密码”屏幕,因为提供程序不支持它。

我打电话:

if (Membership.Provider.ChangePassword(cpCv.LoginName, cpCv.OldPassword, cpCv.NewPassword))

验证用户并更改密码(但不清除“下次登录标志”)

但总是失败,(我假设是因为在设置“下次登录时更改密码标志”时成员身份验证失败。)

验证用户的最简单方法是什么,以便在重置密码和清除“下次登录”标志之前我可以确保“旧密码”和“用户名”匹配?

我已经设置了重置密码和清除标志,但验证让我卡住了。

也试过这段代码,如果重置标志为假,则登录,如果为真,则登录失败。

    DirectoryEntry de = new DirectoryEntry( path, "jcsn\\"+AdUserName, AdPassword );

try
{
//Bind to the native AdsObject to force authentication.
object obj = de.NativeObject;

DirectorySearcher search = new DirectorySearcher( de );

search.Filter = "(SAMAccountName=" + AdUserName + ")";
search.PropertiesToLoad.Add( "cn" );
SearchResult result = search.FindOne();

if ( null == result )
{
return false;
}

}
catch ( Exception ex )
{
throw new Exception( "Error authenticating user. " + ex.Message );
}

谢谢,

埃里克-

最佳答案

有一个名为 Membership.Validate 的函数。我认为您的代码如下所示:

if(Membership.ValidateUser(txtUserName.Text, txtPassword.Text)) 
{
//Proceed with the change
}

我不确定为什么您对 ChangePassword 的调用失败了——我认为 ChangePassword 可能无论如何都会调用 ValidateUser。

关于asp.net - 在下次登录时更改密码以使用成员(member)提供者登录表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5584951/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com