2011-01-31 27 views
0

嘿, 我建立一个内容管理系统,到目前为止,我试图让一个成员的地区工作。我想出了CreateUserWizard和Login控件。我还在帐户创建时使用Roles.AddUserToRole(RegisterUser.UserName, "Member");为用户分配“成员”的角色。我一直在使用Google,但是我一直无法找到一个关于如何限制目录或页面的可靠方法,以便只有“成员”用户才能访问它,否则会重定向到登录页面。任何人都可以给我一个这个想法吗?另外我有一个相关的问题,当我进入该网站并且我没有登录时,我的默认角色是什么?它是客人还是只是空?弄清楚如何使用角色的CMS系统为C#ASP.NET

谢谢!

回答

2

未登录的用户没有角色。

您可以在Web.config中限制您的站点的特定区域。

首先,禁止访问整个网站:

<authorization> 
    <deny users="?" /> 
    <deny users="*" roles="" /> 
</authorization> 

然后,您可以选择性地授予访问使用<location>元素的具体领域:

<location path="Login.aspx"> 
    <system.web> 
     <authorization> 
      <allow users="?" /> 
     </authorization> 
    </system.web> 
</location> 
<location path="SomeFolder/"> 
    <system.web> 
     <authorization> 
      <allow roles="Member" /> 
     </authorization> 
    </system.web> 
</location> 
  • users="?"表示匿名(未记录-in)用户
  • users="*"表示所有登录用户。
0

您可以通过在页面加载事件中检查用户授权来为页面或目录分配默认角色。

此外,默认用户将是客人。