ASP.NET成员和角色

时间:2013-02-09 12:53:20

标签: asp.net asp.net-membership asp.net-roles

我正在尝试为我的项目使用ASP.NET成员资格和角色,并且经历了不同的文章,帖子和SO,以检查是否使用它对我来说是一个更好的选择,而不是从头开始编写整个功能。然而经过几天的搜索后,我还没有想出它是否可能出现以下情况。

  1. 我的应用程序的用户具有角色,他们也属于公司。因此,我需要在他/她登录后立即检索用户的公司ID,因为我需要在不同页面上显示公司ID以向用户显示他/她公司的特定数据。
  2. 应该对角色进行分类。 (即应用程序管理员,公司管理员,公司用户(经理,前台等)。因此,当公司管理员为用户分配角色时,他/她只能分配经理,前台等和非应用程序管理员。(我考虑添加另一个字段到Roles表,以便对角色进行分类,但我不知道这是好事还是坏事,以及它将如何修改成员资格控制的行为。)
  3. 不完全是一个问题,但我更愿意寻求建议我是否应该在这种情况下使用ASP.NET成员资格

1 个答案:

答案 0 :(得分:1)

不建议您从头开始写作。您可以使用asp.net membership处理您的要求。

1-您可以将用户信息保存在他们的个人资料(公司,名称......)中,或创建另一个表格以将用户映射到公司。

2-对于第二个问题,您可以创建一个单独的类或方法来处理访问。

如下所示:

public IList<string> GetRolesUserCanAssign(string userRole)
{
    var roles  = new List<string>();

    if(userRole == "Manager" || userRole == "FrontDesk")
    {
        return roles;
    }

    roles.AddRange(new[]{"Manager" , "FrontDesk"});

    if(userRole == "CompanyAdmin")
    {
        return roles;
    }

    if(userRole == "ApplicationAdmin")
    {
        roles.Add("CompanyAdmin");
    }

    return roles;
}