Вопрос

У меня есть сайт 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);

Надеюсь это поможет.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top