2012-01-07 1 views
-1

Я создал веб-приложение mvc. Я использовал поставщик членства для регистрации.В mvc после регистрации новый пользователь не хочет подписываться

Но, когда я зарегистрировал нового пользователя, он автоматически вошел в систему, Я не хочу этого, я хочу проверить, если свойство isapproved является ложным, тогда ему нужно будет перемещаться по любой другой странице,

//redirect to Welcome page 
return RedirectToAction("Welcome", "Home"); 

Также хочу проверить роль пользователя.

ответ

1

@Darin дал вам ответ об обходе сразу после входа в систему. Для другого вопроса, вы, вероятно, что-то вроде ниже на вашем методе действия регистрации:

Membership.CreateUser(
    model.UserName, 
    model.Password, 
    model.Email, 
    null, 
    null, 
    true, 
    null, 
    out createStatus 
); 

Это one of the overload methods of CreateUser method из Membership class.

Измените его таким образом, чтобы установить IsApproved на false.

Membership.CreateUser(
    model.UserName, 
    model.Password, 
    model.Email, 
    null, 
    null, 
    false, 
    null, 
    out createStatus 
); 

Затем на бревне в части, при проверке достоверности пользователя с кодом ниже, вам не нужно, чтобы проверить, если пользователь будет утвержден или нет. Он делает это за вас:

Membership.ValidateUser(model.UserName, model.Password) 
6

Просто удалите следующий вызов из Register действий:

FormsAuthentication.SetAuthCookie(model.UserName, false); 

Это то, что выделяет файлы аутентификации и последующий запрос (после редиректа) и пользователь считается проверкой подлинностью. Без испускания файла cookie аутентификации пользователь не будет подписан.

+0

спасибо, как я могу справиться с isapproved = true ?? любая ссылка ?? Мне нужно сделать это через администратора, пожалуйста, помогите – Neo

 Смежные вопросы

  • Нет связанных вопросов^_^