在SharePoint应用程序页面上设置权限

Sai*_*luk 1 applicationpage visual-studio-2010 sharepoint-2010 user-permissions

我使用visual studio 2010开发了许多应用程序页面,并将它们部署在SharePoint 2010上.

所有页面都已扩展LayoutsPageBase.

目前,任何经过身份验证的用户都可以访问所有应用程序页 但是,我想允许某些组/权限访问这些页面,并禁止访问其他组/权限.

我的问题:

如何将应用程序页面的权限设置为只能由SharePoint级别和代码级别上的特定组访问?

Ric*_*ema 9

覆盖LayoutsPageBase中这些属性的组合:

CheckRights方法使用这些属性来授予或拒绝对应用程序页面的访问.

如果您需要比这些属性更具体的东西,请将RightsCheckModes设置为None,然后编写您自己的代码,如果用户不具有访问权限,则抛出以下异常:

SPUtility.HandleAccessDenied((Exception) new UnauthorizedAccessException());
Run Code Online (Sandbox Code Playgroud)

遵循LayoutsPageBase类的约定,应该通过覆盖OnLoadCompleteOnPreInit事件来调用此自定义代码.