我試圖檢查給定的用戶是否有權訪問特定的自定義表。 基礎上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。這更符合我們最初想要(預期)如何處理這些數據。 –