c# - 如何在 DotNetNuke 中以编程方式创建文件夹并为其分配权限?

标签 c# asp.net vb.net dotnetnuke

我已经在根门户目录上以编程方式在 DotNetNuke 中创建了一个文件夹。 我只想为它分配一次权限,例如我想让它只对经过身份验证的用户只读。关于如何使用 C# 或 VB.NEt 完成此操作的任何建议?

谢谢。

最佳答案

这相当复杂:

var folderController = new FolderController();
var folderId =
    folderController.AddFolder(
        new FolderInfo(
            portalId, 
            folderName, 
            (int)FolderController.StorageLocationTypes.InsecureFileSystem,
            isProtected: false, 
            isCached: false, 
            lastUpdated: Null.NullDate));
var folder = folderController.GetFolderInfo(portalId, folderId);
Directory.CreateDirectory(folder.PhysicalPath);

var permissionController = new PermissionController();
var writePermission = permissionController.GetPermissionByCodeAndKey("SYSTEM_FOLDER", "WRITE").Cast<PermissionInfo>().Single();
var registeredUserRole = new RoleController().GetRoleByName(folder.PortalID, "Registered Users");
folder.FolderPermissions.Add(new FolderPermissionInfo
    {
        FolderID = folder.FolderID,
        PermissionID = writePermission.PermissionID,
        RoleID = registeredUserRole.RoleID,
        UserID = Null.NullInteger,
        PermissionKey = writePermission.PermissionKey,
        AllowAccess = false
    });

关于c# - 如何在 DotNetNuke 中以编程方式创建文件夹并为其分配权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4928107/

相关文章:

VB.NET:按另一个列表对列表进行排序

vb.net - rows.add 和 importRow 之间的区别

c# - 我如何以 Resharper 接受的方式检查 XElements 中的空值?

c# - MYSQL Connector.net 连接长时间后丢失

c# - 将长字符串拆分为多行的正则表达式

asp.net - 使用两个控件开始和结束 Div - Asp.net mvc

c# - StackExchange NetGain 与 Node.js WS websocket 服务器性能

c# - 如何对 asp :Table? 进行排序

javascript - 如何从不同的域(谷歌搜索结果)中找出以前的 URL 是什么,或者如果没有以前的 URL?

php - 将 html 页面转换为 pdf