代码之家  ›  专栏  ›  技术社区  ›  TheCloudlessSky

C/ASP.NET执行特定操作的自定义权限

  •  0
  • TheCloudlessSky  · 技术社区  · 14 年前

    我正在构建一个Web应用程序,我希望用户具有执行特定操作的特定权限。我不想在ASP.NET中使用默认权限和角色提供程序。

    我正在考虑让每个用户都与一个角色关联。每个角色都映射到一组权限(createpost、readpost、updatepost、deletepost等)。

    关于这个我有几个问题。对于角色或某种位域的每个权限,最好都有一个布尔属性吗?我喜欢有这样的方法,但是需要将这些方法正确地映射到为数据库中的角色存储的权限。

    另外,我如何为每个操作/请求实现这一点?我在想一些事情 here 但我不太确定。

    谢谢!

    1 回复  |  直到 14 年前
        1
  •  0
  •   AxelEckenberger    14 年前

    创建自己的角色提供程序并在web.config中注册。查看msdn获取示例。一旦注册,它将把您提供的角色与主体关联起来。

    我刚为我的一个项目做了这个,它工作得很好。

    要检查用户是否具有执行任务的权限,您必须查看用户是否处于所需的角色中。在“普通”的ASP.NET中,您必须在代码中这样做。在MVC中,可以使用控制器中每个类/方法的属性来实现这一点。