gpt4 book ai didi

c# - .NET 中角色的权限

转载 作者:太空狗 更新时间:2023-10-29 20:31:45 26 4
gpt4 key购买 nike

我正在使用标准的 .NET 身份验证数据库表和代码,以及 .NET 4.0、C# 和 MVC 3。

基本上,我想要角色(包含在框架中),然后能够为这些角色分配权限(据我所知,这些角色不包含)。

所以我想给角色分配权限。会计角色的用户无法编辑和删除员工,但管理员角色的用户可以。由于这些权限可能随时更改,我不想检查 User.IsInRole("Administrator"),而是想做类似 User.HasPermission("EditEmployee").

我可能会设计一些自定义表格并自己编写代码,但如果 .NET Framework 已经内置,我宁愿使用它。有这样的东西吗?如果没有,是否有图书馆做这件事?

最佳答案

内置的 RoleProvider 确实没有提供一种干净的方法来执行此操作。使用 RoleProvider 实现此目的的唯一方法是创建“Employees_CanEdit”和“Employees_CanAdd”等角色,但最终你会得到一堆乱七八糟的角色。

不过,还有其他方法可以让您的角色获得权限。您可以创建一个链接用户、角色(“员工”)和权限(“添加”或“编辑”)的表。然后你可以实现类似的东西:

public bool HasPermission(string role, string permission) {
// Some sql for accessing the table
// return true if a row exists that matches the user, the role, and the permission
}

关于c# - .NET 中角色的权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6918321/

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