gpt4 book ai didi

asp.net 成员(member) : Extending Role membership?

转载 作者:行者123 更新时间:2023-12-02 18:43:07 26 4
gpt4 key购买 nike

我一直在研究 asp.net 成员(member)资格,它似乎提供了我需要的一切,但我需要某种自定义角色功能。

目前我可以将用户添加到角色,太棒了。

但我还需要能够向角色添加权限..

角色:编辑权限:可以查看编辑器菜单、可以写入编辑器表、可以删除编辑器表中的条目。

目前它不支持这一点,其背后的想法是在我的程序中创建一个管理选项来创建一个角色,然后为角色分配权限以表示“允许用户查看应用程序的特定部分” ,“允许用户打开菜单项”

我有什么想法可以实现这样的事情吗?

我假设有一个自定义角色提供程序,但我想知道是否已经存在某种框架扩展而没有推出我自己的框架扩展?

或者有人知道如何解决这个问题的好教程吗?

我对 asp.net SQL 提供程序在表等方面创建的内容非常满意...但我认为我需要通过添加另一个名为 RolesPermissions 的表来扩展它

然后我假设:-)为每个有效权限在表中添加某种枚举??

提前致谢

最佳答案

您可以通过编程方式允许或不允许用户查看某些页面,或使用函数IsInRole执行某些操作,并检查是否允许用户执行某些操作。

HttpContext.Current.User.IsInRole("rolename")

您可以使用您的权限创建一个类/或表,并根据用户所属的角色,在同一页面上打开、关闭、允许等多种想法。我在我的程序上有这样的编程想法,非常简单。

这是一个想法...

public enum csPermissions
{
pActionDelete = 1,
pActionEdit = 2 ,
...more actions...
}

private int[] AdminPermission = {
(int)csPermissions.pActionEdit,
(int)csPermissions.pActionDelete,
....
};

private int[] BackOfficePermission = {
(int)csPermissions.pActionEdit,
....
};

public static bool IsThisAllowed(csPermissions AskPermitForThisAction)
{
... questions here for all users roles...
... here is only an example .....
if (HttpContext.Current.User.IsInRole("Administator")))
{
for (int i = 0; i < AdminPermission.Length; i++)
if (AdminPermission[i] == (int)AskPermitForThisAction)
return true;
}

...
return false;
}

希望这有帮助。

关于asp.net 成员(member) : Extending Role membership?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2564006/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com