많은 응용 프로그램에서이 작업을 수행했습니다.
응용 프로그램에 대해 Windows 인증을 사용하도록 설정하십시오.
사용자 자격 증명을 저장하고 해당 개체를 세션에 저장하여 빠른 검색을 수행 할 수있는 개체를 만듭니다. 거기에 없으면 신속하게 다시 작성할 수 있습니다. 나는 일반적으로 각각의 역할은 비트 등을 설정 한 : 그럼 언제 컨트롤이 확보 될 필요가
enum USER_ROLE : int
{
Role1 = 1,
Role2 = 2,
Role3 = 4,
Role4 = 8,
etc
}
if (Context.User.IsInRole("Roll1Name")) YourUserObject.Roles += USER_ROLE.Role1;
if (Context.User.IsInRole("Roll2Name")) YourUserObject.Roles += USER_ROLE.Role2;
etc
가, 내가 HtmlControl 사용자의 역할에 따라 속성과 보안 요구 사항에 대한 소요 함수로 전달 그 통제.
예 : 부울 SetControlSecurity은 (HtmlControl Ctrl 키, INT iUserRoles, INT iControlRoles, ACTION eAction)
그래서 패널을 수행하는 예는 다음과 같을 수 있습니다
SetControlSecurity (pnlUserInfo, YourUserObject.Roles, eRole.Role2, ACTION.Hide);
나는 보통 또한 숨기기 등의 보안 실패에 수행 할 작업 유형에 PARAM 받아 가지고, 읽기 전용, 명확한 데이터는 등 ... 기능의 역할을 비교
는
쉽게 :
bool bHasAccess = ((iUserRole & iControlRoles) > 0);
if (bHasAcess)
{
// leave the control or make sure it is visible etc
}
else
{
// take action to secure the control based on the action
}
희망이 있습니다.