특정 사용자 만 액세스 할 수 있어야하는 페이지가있는 ASP.NET MVC 응용 프로그램을 사용하는 프로젝트에서 작업하고 있습니다. Windows 인증을 사용하여 User.Identity.Name을 가져 와서 데이터베이스의 내 사용자 테이블에있는 LogonID 필드에 대해 확인하고 싶습니다. 일치하는 항목이 있으면 IsAdmin 필드가 true인지 확인한 다음 원하는 페이지에 대한 액세스 권한을 부여하고 싶습니다.Windows 인증 사용자 권한
나는 이것에 상당히 새롭기 때문에 나는 그것에 대해 어떻게 갈 필요가 있을지 궁금해하고 있었습니까?
UPDATE :
그래서 내가 나에게 제안되었다하지만 문제가 건너 한 AuthorizeAttribute을 사용하려고했습니다.
DBContext없이 SQL Server Compact Database를 사용하고 있습니다. 그래서 데이터베이스에 액세스하기 위해 엔티티를 작성하는 방법이 궁금합니다.
public class AuthorizeAuthorAttribute : AuthorizeAttribute
{
//Entity to access Database
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
var isAuthorized = base.AuthorizeCore(httpContext);
if (!isAuthorized)
{
return false;
}
string currentUser = httpContext.User.Identity.Name;
var userName = //Linq statement
string my = userName.ToString();
if (currentUser.Contains(my))
{
return true;
}
else
{
return false;
}
}
protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
{
filterContext.Result = new HttpUnauthorizedResult();
}
}
필요한 권한 부여 필터가 있어야합니다. –
@WiktorZychla 업데이트를 참조하고 도움을 주실 수 있으면 알려주세요. –