을 제공 :확인 사용자 권한은 작업 공간의 목록을 감안할 URL
http://server/managed_path/sitecoll/basic
http://server/managed_path/sitecoll/blank
http://server/managed_path/sitecoll/decision
http://server/managed_path/sitecoll/multipage
http://server/managed_path/sitecoll/social
어떻게 DoesUserHavePermissions()를 호출 할 수 있습니다 - 현재에 액세스 할 수 있습니다 로그인 한 사용자가 있는지 확인하려면 - 또는 비슷한 웹 사이트?
foreach (String s in workspaces)
{
using (SPSite site = new SPSite(s))
{
using (SPWeb web = site.OpenWeb(s))
{
// web.DoesUserHavePermissions(...)
}
}
}
:
나는 그들이에 액세스 할 수있는 작업 공간의 목록이 출력에 사용자 정의 컨트롤을 쓰고 있어요,하지만 난 확인하려고 할 때, 나는 다양한 오류를 얻을이 코드로 해결할 수없는 것
좋은 답변입니다. 사용자가 웹에 액세스 할 수없는 경우 웹을 열 수 있다고 생각하지 않습니다. 기껏해야 FileNotFound 예외가 발생하고 최악의 경우 예외없이 SPSite의 웹이 열립니다. OpenWeb을주의 깊게 읽고 원하는 웹을 얻을 수 있는지 확인하십시오. –
@Kit Menke, SystemAccount의 사용자 토큰을 사용하여 SPSite 객체를 열면 * 시스템 계정입니다. 따라서 시스템 계정으로 수행 할 수있는 모든 작업을 수행 할 수 있습니다. – naivists
죄송합니다. 분명히 그것을 아주 자세히 읽지 않았습니다. :) 시스템 계정으로 모든 것에 액세스 할 수 있습니다. 나는 현재 사용자가 URL을 열 수 있는지 여부를 결정할 수있는 시스템 계정이되는 것을 이해하지 못합니다 ... –