2013-08-01 6 views
2

AuthoriseAttribute가 개별 컨트롤러마다 작동 할 수 있다는 것을 보았습니다. 전체 사이트 권한을 하나의 AD 그룹으로 설정하는 것이 좋았습니다. 아니면 각 컨트롤러에 자동 태그 입력란을 복사하여 붙여 넣어야합니까?MVC Windows 인증 - 전체 사이트에 대한 권한 부여 (사용 권한)

감사합니다.

+1

다음 질문에 설명 된 사람과 같은 글로벌 필터를 추가하십시오. http://stackoverflow.com/questions/11033357/asp-net-mvc-global-authorize-filter-forcing-login-on- 전역 필터 w에서 allow -onymous-action – asawyer

+0

여기에 어떤 AD 그룹이 사이트를 사용할 수 있도록 지정해야합니까? – AlexW

+2

아마도이 기사가 유용 할 수 있습니다. http://blogs.msdn.com/b/rickandy/archive/2011/05/02/securing-your-asp-net-mvc-3-application.aspx –

답변

5

마찬가지로 @asawyer는 사례에 대한 글로벌 필터를 사용하는 것이 좋습니다. 코멘트에서 귀하의 질문의 다른 부분의 경우 :

public class MyAuthAttribute: AuthorizeAttribute 
{     
    public override void OnAuthorization(AuthorizationContext filterContext) 
    { 
     Roles = 'ad role1, ad role2...'; //Roles is AuthorizeAttribute member 
     base.OnAuthorization(filterContext); 
    } 
} 

하고보다 것은이 좋아 사용 : in the global filter where do i specify what AD groups are allowed to use the site? 당신이 사용자 정의 권한 부여 속성의 OnAuthorization 방법에 역할을 지정할 수 있습니다, 같은 매끄러운의 Global.asax에서

GlobalFilterCollection.Add(new MyAuthAttribute()); 

w/e 이외의 경우