以编程方式将用户角色添加到 COM+组件(C#)

发布于 2024-08-23 09:23:27 字数 118 浏览 3 评论 0原文

我想知道如何使用 C# 以编程方式将 ASP.NET ("Machine_Name"\IIS_IUSRS) 添加到 COM+ 组件中的用户角色。因此,每当安装我的 COM+ 组件时,都会在角色下创建 ASP.NET 用户。

I wish to know the way to add ASP.NET ("Machine_Name"\IIS_IUSRS) to user role in COM+ component programmatically using C#. So whenever my COM+ component is being installed, ASP.NET user is created under Role.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

写给空气的情书 2024-08-30 09:23:27

这是代码。您必须引用 C:\windows\system32\com\comadmin.dll。

using System;
using COMAdmin;
using Microsoft.VisualBasic;

namespace TesteAdicionaRole
{
    class Program
    {
        static void Main(string[] args)
        {
            string packageName = "TRICOLOR";
            ICOMAdminCatalog catalog = (ICOMAdminCatalog)Interaction.CreateObject("COMAdmin.COMAdminCatalog", string.Empty);
            ICatalogCollection packages = (ICatalogCollection)catalog.GetCollection("Applications");
            packages.Populate();
            foreach (ICatalogObject package in packages)
                if (package.Name.ToString().Equals(packageName))
                {
                    ICatalogCollection roles = (ICatalogCollection)packages.GetCollection("Roles", package.Key);
                    roles.Populate();
                    ICatalogObject role = (ICatalogObject)roles.Add();
                    role.set_Value("Name", "MyRoleName");
                    roles.SaveChanges();
                    ICatalogCollection users = (ICatalogCollection)roles.GetCollection("UsersInRole", role.Key);
                    users.Populate();
                    ICatalogObject user = (ICatalogObject)users.Add();
                    user.set_Value("User", "MV0266\\IUSR_MV0266");
                    users.SaveChanges();
                    break;
                }            
        }
    }
}

[]的

Here's the code. You've got to reference C:\windows\system32\com\comadmin.dll.

using System;
using COMAdmin;
using Microsoft.VisualBasic;

namespace TesteAdicionaRole
{
    class Program
    {
        static void Main(string[] args)
        {
            string packageName = "TRICOLOR";
            ICOMAdminCatalog catalog = (ICOMAdminCatalog)Interaction.CreateObject("COMAdmin.COMAdminCatalog", string.Empty);
            ICatalogCollection packages = (ICatalogCollection)catalog.GetCollection("Applications");
            packages.Populate();
            foreach (ICatalogObject package in packages)
                if (package.Name.ToString().Equals(packageName))
                {
                    ICatalogCollection roles = (ICatalogCollection)packages.GetCollection("Roles", package.Key);
                    roles.Populate();
                    ICatalogObject role = (ICatalogObject)roles.Add();
                    role.set_Value("Name", "MyRoleName");
                    roles.SaveChanges();
                    ICatalogCollection users = (ICatalogCollection)roles.GetCollection("UsersInRole", role.Key);
                    users.Populate();
                    ICatalogObject user = (ICatalogObject)users.Add();
                    user.set_Value("User", "MV0266\\IUSR_MV0266");
                    users.SaveChanges();
                    break;
                }            
        }
    }
}

[]'s

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文