有web.config权限设置,也有代码直接设置。我就是分不清楚他们有什么区别跟作用。我是初学者,希望有实例简单易懂的,让我彻底了解
------解决方案--------------------------------------------------------
- XML code
项目下 有三个文件夹 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");
}