SharePoint 2010 претензий Auth/FBA - сбросить пароль не работает
-
28-10-2019 - |
Вопрос
У меня есть сайт SP с аутентификацией претензий и настройкой FBA. Двойная аудитория Win/Forms работает отлично.
У меня есть ASP: PasswordRecovery Control на странице приложения. Похоже, что он правильно поиск учетной записи - возвращение сообщений «не найдено», если имя пользователя не найдено. Тем не менее, он не может сбросить пароль со следующей выполнением:
Exception information:
Exception type: NotImplementedException
Exception message: The method or operation is not implemented.
Thread information:
Thread ID: 10
Thread account name: SERVER01\SPS_Farm
Is impersonating: False
Stack trace: at Microsoft.SharePoint.Administration.Claims.SPClaimsAuthMembershipProvider.GetUser(String name, Boolean userIsOnline)
at System.Web.Security.MembershipProvider.GetUser(String username, Boolean userIsOnline, Boolean throwOnError)
at System.Web.UI.WebControls.PasswordRecovery.AttemptSendPasswordUserNameView()
at System.Web.UI.WebControls.PasswordRecovery.OnBubbleEvent(Object source, EventArgs e)
at System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args)
at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
Заранее спасибо.
Обновлять:
Я добавил:
EnablePassWordReset = "true"
в app web.config и token-service web.config
Написал немного кода, чтобы сделать ручный тест, и все еще получил это, когда мой код попытался «сбросить» пароль:
Этот поставщик не настроен на сброс пароля. Чтобы включить сброс пароля, установите EnablePasswordReset «true» в файле конфигурации.
Решение
Это может не помочь, так как вы, кажется, правильно ищут пользователя ... но если вы этого не делаете, я знаю, что вы можете столкнуться с не реализованными проблемами:
Обязательно получите экземпляр пользователя, использующего соответствующий поставщик членов.
например
MembershipUser myUser = Membership.Providers["aspMembership"].GetUser(userName, false);
Надеюсь это поможет.