我试图检查给定的用户是否有权访问特定的自定义表。 基础上kentico文件上列出的check permissions for a custom table例如,我已经建立了类似的呼吁,用我的自定义表类名和用户信息,但呼叫“UserInfoProvider.IsAuthorizedPerClass”总是返回false:Kentico UserInfoProvider.IsAuthorizedPerClass不按预期方式工作
private bool CheckCustomTableReadPermission(UserInfo user = null)
{
// Gets the user object
//UserInfo user = UserInfoProvider.GetUserInfo("CMSEditor");
//UserInfo user = UserInfoProvider.GetUserInfo("someothervalidusername");
//UserInfo user = CurrentUser;
//normally outside of this function
UserInfo CurrentUser = MembershipContext.AuthenticatedUser;
string CustomTableClassName = "Namespc.TblName";
if (user == null)
{
user = CurrentUser;
}
if (user != null)
{
// Checks whether the user has the Read permission for the CMS.MenuItem page type
if (UserInfoProvider.IsAuthorizedPerClass(CustomTableClassName, "Read", SiteContext.CurrentSiteName, user))
{
// Perform an action according to the result
return true;
}
}
return false;
}
灿除了“阅读”之外,任何人都会提及有效的权限名称字符串是什么? (例如:“修改”?“删除”?“插入”?)
是否UserInfoProvider.IsAuthorizedPerClass解决给定用户的所有成员,或者它只是检查用户是否明确地添加到自定义表?
有什么建议吗?我们正在使用Kentico v8.2.25
谢谢!
维克多
谢谢,Rocky!这比我们开始走的道路更好。 我们实际上将通过类名获取CustomTable,然后在自定义表对象上调用CheckPermissions。这更符合我们最初想要(预期)如何处理这些数据。 –