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