2014-09-08 5 views
1

Когда вы просите разрешения на определенный MVC действий, как это:Как забыть учетные данные авторизации?

[Authorize(Roles = @"Domain\Groupname")] 
    public string SomeAction() 
    { 
     return "ok"; 
    } 

И пользователь не является членом, пользователю предлагается для действительных полномочий. Это отличная функциональность, которую я хочу сохранить.

Однако, когда эти данные считаются действительными, эти учетные данные будут использоваться для всего приложения до тех пор, пока пользователь этих данных не изменит свой пароль!

Как заставить приложение или браузер забыть данные учетных данных? Есть ли способ применить кнопку «Это не я ..»?

К моему удивлению, приложение будет помнить эти учетные данные даже после перезапуска приложения IIS и после целого сброса браузера клиента к заводским настройкам по умолчанию (?!)

+0

FormsAuthentication.SignOut. http://msdn.microsoft.com/en-us/library/system.web.security.formsauthentication.signout(v=vs.110).aspx –

+0

@IgorSemin: Это похоже на работу с аутентификацией домена? Приложение продолжает показывать указанные учетные данные вместо входа пользователя в Windows. –

+0

Какой режим аутентификации вы используете? –

ответ

0

Единственное решение, которое я мог бы придумал было обычай авторизированным:

[Authorize([email protected]"DOMAIN\APP-ResetToUser")] 
public string ResetUser() 
{ 
    return "Active user: " + User.Identity.Name; 
} 

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

Это работает .. но я все равно хотел бы знать, как браузер или IIS хранит этот аутентифицированный пользователь.

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