首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

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

2012-12-27 
asp.net权限问题好像很复杂进来帮忙下有web.config权限设置,也有代码直接设置。我就是分不清楚他们有什么区

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"); 
    } 

热点排行