只是想问一下如何实现基于用户角色的用户管理和页面访问?
1]假设页面/功能访问是基于用户类型给出的,例如:销售,市场营销,工程。所以我们最终得到类似的东西
if(CurrentUser.IsInRole("Sales"))
{
//for - sales feature
}
else
{
// etc..etc..
}
如何避免这种情况?
2]假设是否添加/创建了新角色,那么修改代码是不可行的?
3]如果角色存储在数据库中,是否可以使用相同的设计?
目前正在使用Asp.net ..但也欢迎任何通用/特定解决方案。
THX
阿米特
答案 0 :(得分:0)
您可以非常轻松地限制页面访问。例如,为每个用户组创建一个子目录: 销售,行政,市场营销。在每个目录中放置一个名为web.config的文件,其中包含以下内容:
<?xml version="1.0"?>
<configuration>
<system.web>
<authorization>
<allow roles="Sales"/>
<deny users="*"/>
</authorization>
</system.web>
</configuration>
使用可以访问这些目录的角色替换每个文件中的角色名称。放置在其中一个子目录中的任何网页只能由该角色的用户查看。
无论用户和角色的存储位置如何,此技术都可以使用。