Проверка подлинности утверждений SharePoint 2010 / FBA - сброс пароля не работает - PullRequest
0 голосов
/ 02 мая 2011

У меня есть сайт SP с аутентификацией утверждений и настройкой FBA. Двойная аутентификация Win / Forms работает отлично.

У меня есть элемент управления asp: PasswordRecovery на странице приложения. Похоже, что он правильно ищет учетную запись - возвращает «не найденные» сообщения, если имя пользователя не найдено. Однако не удается сбросить пароль, выполнив следующее исключение:

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 = "истинный"
к приложению web.config И сервису токенов web.config

Написал какой-то код для ручного тестирования, и все же получил его, когда мой код попытался «сбросить» пароль:
Этот поставщик не настроен для разрешения сброса пароля. Чтобы включить сброс пароля, установите для параметра enablePasswordReset значение «true» в файле конфигурации.

1 Ответ

1 голос
/ 02 июня 2011

Это может не помочь, поскольку вы, похоже, правильно ищете пользователя ... но если вы этого не делаете, я знаю, что вы можете столкнуться с неосуществленными проблемами:

Обязательно получите экземпляр пользователя, используя соответствующего поставщика членства.

, например

MembershipUser myUser = Membership.Providers["aspMembership"].GetUser(userName, false);

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

...