用户管理和页面访问

时间:2010-01-07 12:12:25

标签: .net roles

只是想问一下如何实现基于用户角色的用户管理和页面访问?

1]假设页面/功能访问是基于用户类型给出的,例如:销售,市场营销,工程。所以我们最终得到类似的东西

if(CurrentUser.IsInRole("Sales"))  
{  
//for - sales feature  
}  
else  
{  
// etc..etc..  
}  

如何避免这种情况?

2]假设是否添加/创建了新角色,那么修改代码是不可行的?

3]如果角色存储在数据库中,是否可以使用相同的设计?

目前正在使用Asp.net ..但也欢迎任何通用/特定解决方案。

THX
阿米特

1 个答案:

答案 0 :(得分:0)

您可以非常轻松地限制页面访问。例如,为每个用户组创建一个子目录: 销售,行政,市场营销。在每个目录中放置一个名为web.config的文件,其中包含以下内容:

<?xml version="1.0"?>
<configuration>
  <system.web>
    <authorization>
      <allow roles="Sales"/>
      <deny users="*"/>
    </authorization>
  </system.web>
</configuration>

使用可以访问这些目录的角色替换每个文件中的角色名称。放置在其中一个子目录中的任何网页只能由该角色的用户查看。

无论用户和角色的存储位置如何,此技术都可以使用。