MOSS
[팁하나] - 로긴 사용자의 권한 체크 방법 (Web,List, item 다~)
happynuri
2008. 4. 23. 11:19
/// <summary>
/// 편집권한 체크
/// </summary>
/// <param name="list"></param>
/// <returns></returns>
private bool IsEditRole(SPList list)
{
bool retval = false;
if (SPContext.Current.Web.UserIsSiteAdmin || SPContext.Current.Web.UserIsWebAdmin)
{
retval = true;
}
else
{
//EffectiveBasePermissions 현재 사용자의대한 권한 모음집~~~1
/// 편집권한 체크
/// </summary>
/// <param name="list"></param>
/// <returns></returns>
private bool IsEditRole(SPList list)
{
bool retval = false;
if (SPContext.Current.Web.UserIsSiteAdmin || SPContext.Current.Web.UserIsWebAdmin)
{
retval = true;
}
else
{
//EffectiveBasePermissions 현재 사용자의대한 권한 모음집~~~1
// 그룹, 정책을 포함하는 현재 로그인 사용자의 리스트에 대한 권한
retval = (list.EffectiveBasePermissions & SPBasePermissions.EditListItems) == SPBasePermissions.EditListItems;
}
return retval;
}
소스 보면 아시겠지만..
EffectiveBasePermissions 이란 놈을 디버깅 걸어보면
로긴 사용자의 권한들이 나열 되어있어요. 걍 대충 봐서 필요한 권한 있는지만 체크하면 됩니다.
괜히 사용자 그룹에서 사용자 있나 없나 체크 하는 식으로 권한체크 하지 마세여~
깊게 들어가면 Active Driectory 까지 뒤져야 하니깐
Moss는 AD의 Security Group자체도 사용자로 본답니다
요 돼굴이 님이 moss 에 대해서 한글로 잘 올려 놓으신다~ 쿄쿄쿄쿄~