2013-02-09 87 views
0

我想为我的项目使用ASP.NET成员资格和角色,并且已经通过不同的文章,帖子和SO来检查使用它对我而言是一个更好的选择,而不是手动编码整个功能从零开始。然而,经过几天的搜索,我还没有弄清楚它是否可能适用于下列情况。ASP.NET成员资格和角色

  1. 我的应用程序的用户有角色,他们也属于一个公司。因此,我需要在用户登录后尽快检索用户的公司ID,因为我需要在不同页面上显示公司ID以向用户显示其公司特定数据。
  2. 角色应该分类。 (即应用程序管理员,公司管理员,公司用户(经理,前台等)),所以当公司管理员为用户分配角色时,他/她只能分配经理,前台等和非应用程序管理员。另一个字段为角色表以分类角色,但我不知道这是否是好事或坏事,以及它如何修改会员控制的行为)

不完全是一个问题,但是我宁愿寻求建议我是否应该去为ASP.NET成员在这种情况下

回答

1

从头开始编写,不建议你想要的。你可以使用asp.net membership处理您的需求是什么。

1-您可以将用户信息保存在其配置文件(公司,名称等)中或创建另一个表将用户映射到公司。对于第二个问题,您可以创建一个单独的类或方法来处理访问。

类似如下:

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; 
} 
+0

似乎是一个公平的解决方案给我。谢谢。虽然,正如你所说,我可以使用另一个表来映射用户,但如果我将公司ID保存在配置文件表中并使其成为外键,那么它会好起来的。 – ZedBee 2013-02-09 14:28:37

+0

@ZedBee:您的欢迎,这些只是您可以做的事例。 – 2013-02-09 14:35:11

+0

好的,谢谢..我应该继续探索然后:) – ZedBee 2013-02-09 14:51:35