2014-03-07 5 views
0

C#/MVC4에서 잘 작동하는 사용자 지정 권한 특성이 있습니다.함수 내에서 사용자 지정 인증 특성 사용

이제 사용자가 특정 사용자 정의 인증 속성의 구성원 인 경우에만 웹 페이지를 라우트하는 기능보다 먼저이 속성을 함수에서 사용해야합니다.

내 정의의 예 수

[isAuthorized(enRole = new oRoles[] { oRoles.PageAdmin, oRoles.PageEditor })] 

는 그러나, 나는 if 문에서 그 속성을 사용할 필요가 MVC4에서 함수 앞서 사용 속성 것입니다.

처럼 :

if (isAuthorized(enRole = new oRoles[] { oRoles.PageAdmin, oRoles.Super }) 
    return RedirectToAction("Admin","PageEditor"); 

내가 오류는 이것이다 : AuthCheck는 타입이지만

나는 이런 내 사용자 정의 속성을 사용할 수있는 '변수'처럼 사용된다?

+0

if(User.IsInRole(oRoles.PageAdmin) || User.IsInRole(oRoles.Super)) return RedirectToAction("Admin","PageEditor"); 
속성과 새 기능에서 필요로합니다. – rfernandes

답변

1

코드는 다음과 같아야합니다

나는 그것의 논리의 대부분 (전부는 아니지만)는 클래스 메소드에 살고 그래서 당신이 그것을 호출 할 수있는 당신은 아마 어딘가에 속성 코드를 리팩토링해야한다라고 말하고 싶지만
+0

oRoles는 열거하고 User.IsInRole (문자열) ... 공공 열거 oRoles { 사용자 = 1, PageAdmin = 2, ..... – DaBlue

+0

주어진 열거 값에 대해 역할 이름을 얻을 수있는 방법을 쓰기 : 문자열 GetRoleName (oRoles 역할) {...}. –

+0

나는 바보입니다 ... 나는 User.IsInRole (...) 및 그룹을 통해이 검사를 수행하는 몇 달 전에 쓴 함수가 있습니다. 당신은 정확합니다. 당신의 도움을 주셔서 감사합니다. – DaBlue

관련 문제