2014-09-08 4 views
1

는이 같은 특정 MVC 작업에 대한 허가를 요청하는 경우 :인증 자격 증명을 잊어 버리는 방법?

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

그리고 사용자는 사용자가 유효한 자격 증명을 요청하고, 구성원이 아닙니다. 이것은 내가 지키고 자하는 훌륭한 기능입니다.

그러나 주어진 자격 증명이 유효한 경우 이러한 자격 증명을 사용하는 사용자가 암호를 변경할 때까지 이러한 자격 증명이 전체 응용 프로그램에 사용됩니다!

응용 프로그램이나 브라우저가 주어진 자격 증명을 잊어 버리게하려면 어떻게해야합니까? 'This is not ..'버튼을 적용 할 수있는 방법이 있습니까? 놀랍게도

도 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가이 인증 된 사용자를 저장하는 방법을 알고 싶습니다.

관련 문제