如果有人可以帮助这个请。ckfinder不会识别角色?
我想将ckeditor和ckfinder合并到一个Asp.Net Mvc 1项目中。迄今为止一切工作正常。唯一不能正常工作的是ckfinder的访问控制。
据我所知,在文件ckfinder/config.ascx中,变量字符串RoleSessionVar用于分配要限制的角色。默认值是:
RoleSessionVar = "CKFinder_UserRole";
我在我的项目管理员,编辑和贡献者中有树角色。因此,为了获得我当前的用户角色,我将其替换为:
string currentRole= "";
if(HttpContext.Current.User.IsInRole("Administrators"))
{
currentRole = "Administrators";
}
else
{
if (HttpContext.Current.User.IsInRole("Editors"))
currentRole = "Editors";
else
{
if (HttpContext.Current.User.IsInRole("Contributors"))
{
currentRole = "Contributors";
}
}
}
RoleSessionVar = currentRole;
变量被赋予当前用户的正确角色。 config.ascx文件的下一部分是ACL设置。默认的是:
AccessControl acl = AccessControl.Add();
acl.Role = "*";
acl.ResourceType =“*”; acl.Folder =“/”;
acl.FolderView = true;
acl.FolderCreate = true;
acl.FolderRename = true;
acl.FolderDelete = true;
acl.FileView = true;
acl.FileUpload = true;
acl.FileRename = true;
acl.FileDelete = true;
通过这些设置不会有,但与大家完全权限的ckfinder,它列出了所有的文件夹和文件的任何问题。我想限制对不同角色的删除权限。反正只是作为测试我试图充分权限管理员角色
AccessControl acl = AccessControl.Add();
acl.Role = "Administrators";
acl.ResourceType =‘*’; acl.Folder =“/”;
acl.FolderView = true;
acl.FolderCreate = true;
acl.FolderRename = true;
acl.FolderDelete = true;
acl.FileView = true;
acl.FileUpload = true;
acl.FileRename = true;
acl.FileDelete = true;
但ckfinder不会显示任何文件或文件夹,即使RoleSessionVar =“管理员”。
对于解决这个问题我会非常感谢。
拜伦