当前位置: 代码迷 >> Delphi >> asp.net权限有关问题好像很复杂进来帮忙上
  详细解决方案

asp.net权限有关问题好像很复杂进来帮忙上

热度:6570   发布时间:2013-02-25 00:00:00.0
asp.net权限问题好像很复杂进来帮忙下
有web.config权限设置,也有代码直接设置。我就是分不清楚他们有什么区别跟作用。我是初学者,希望有实例简单易懂的,让我彻底了解
------解决方案--------------------------------------------------------
项目下 
有三个文件夹 A,B,C 
验正方式是 Forms 验正 
我要设置他们的访问权限为, 
A,匿名可访问 
B,普通用户授权后才能访问 
C,只允许管理员访问 

<configuration> 
<location path= "A "> 
<system.web> 
<authorization> 
<allow users= "* "/> 
</authorization> 
</system.web> 
</location> 
<location path= "B "> 
<system.web> 
<authorization> 
<allow users= "? "/> 
</authorization> 
</system.web> 
</location> 
<location path= "C "> 
<system.web> 
<authorization> 
<allow roles= "Admins "/> 
</authorization> 
</system.web> 
</location> 
</configuration>

 

------解决方案--------------------------------------------------------
Forms 验证
<configuration> 
  <location path="login.aspx"> 
    <system.web> 
      <authorization> 
        <allow users="*"/> 
      </authorization> 
    </system.web> 
  </location> 
  <system.web> 
    <authorization> 
      <allow roles="Manager"/> 
      <deny users="*"/> 
    </authorization> 
  </system.web> 
</configuration> 

string from = Request.QueryString["ReturnUrl"]; 
string fromFilePath = from.Substring(from.IndexOf('/') + 1, from.IndexOf('/', from.IndexOf('/') + 1) - from.IndexOf('/')-1); 
switch (fromFilePath.ToLower()) 

    case "admin": Response.Redirect("/admin/login.aspx"); break; 
    case "user": Response.Redirect("/user/login.aspx"); break; 

通过自定义角色实现页面跳转 
if (User.Identity.IsAuthenticated&&User.IsInRole("user")) 
    { 
        Response.Redirect("index.aspx"); 
    } 
  相关解决方案