ルートポータルディレクトリにDotNetNukeのフォルダをプログラムで作成しました。 私は、認証されたユーザーに対してのみ読み取り専用にしたいなど、一度だけアクセス許可を割り当てたいだけです。どのようにC#またはVB.NEtを使用してこれを達成するための任意のアドバイス?DotNetNukeでプログラムでフォルダを作成し、そのフォルダにアクセス権を割り当てる方法は?
ありがとうございます。
ルートポータルディレクトリにDotNetNukeのフォルダをプログラムで作成しました。 私は、認証されたユーザーに対してのみ読み取り専用にしたいなど、一度だけアクセス許可を割り当てたいだけです。どのようにC#またはVB.NEtを使用してこれを達成するための任意のアドバイス?DotNetNukeでプログラムでフォルダを作成し、そのフォルダにアクセス権を割り当てる方法は?
ありがとうございます。
それはかなり複雑で入り組んだ:
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
});
次のコードは、データベースに私の権限を追加しませんでした。 FolderInfo
FolderManager.Instance.SetFolderPermission(folder, 6, registeredUserRole.RoleID);
folder.FolderPermissions.Add(new FolderPermissionInfo
{
FolderID = folder.FolderID,
PermissionID = writePermission.PermissionID,
RoleID = registeredUserRole.RoleID,
UserID = Null.NullInteger,
PermissionKey = writePermission.PermissionKey,
AllowAccess = false
});
は、私が使用していました。
実際に少し畳み込まれていますが、答えが分かりやすくなりました。どうもありがとうございました。 – Fayde
bdukes - すべてのユーザーを読み取りファイルのようなアクセス許可に設定する方法はありますか? – braindice
@codemypantsoff 'RoleID'を' int.Parse(DotNetNuke.Common.Globals.glbRoleAllUsers、CultureInfo.InvariantCulture) 'に設定して、すべてのユーザーのアクセス許可。読み取り許可のキーは '' READ "'です。 – bdukes