日期:2014-05-18  浏览次数:20432 次

关于web.config中验证身份登录控制问题????在线关注ing...................
关于web.config中验证身份登录控制问题????
我大概写了下,可达不到效果....
C# code

<authentication mode="Forms">
            <forms name=".FormsAuthCookie" loginUrl="Admin/login.aspx" path="/" timeout="20" protection="All">
      </forms>
    </authentication>
    <authorization>
      <allow users="*"/>
    </authorization>
    </system.web>
  <location path="Admin">
    <system.web>
      <authorization>
        <deny users="?"/>
        <allow users="*"/>
      </authorization>
    </system.web>
  </location>

一网站需要管理员登录后台成功后方能进入后台管理页面进行操作,
根目录下的Admin文件夹中都是后台管理页面,后台管理首页为admin_index.aspx,登录页面为login.aspx
且需要达到当用户绕过(未登录)login.aspx直接进入其它后台页面时,自动跳转到login.aspx
该如何配置web.config ,详细点,希望哪位能给出正确的源码??.........(不好意思,分不是很多,后面可补上^_^)
顺便问一下,想要把用户登录成功后的信息存在Session或Cookie中如何弄.......

------解决方案--------------------
探讨
<location path="admin_index.aspx">
path="admin_index.aspx"是什么意思?

------解决方案--------------------
你自己的那个配置文件写的就是对的。一点问题都没有啊
可能是你登录验证用户的时候忘记给客户端发送票据了(就是cookie)


C# code

//向客户端发送cookie   这句一定要有
System.Web.Security.FormsAuthentication.SetAuthCookie(this.TextBox1.Text,true);
//页面转向!
Response.Redirect("~/admin/default.aspx");


//如果要移除cookie  比如你的页面上登录进去有个叫安全退出的按钮,那么代码就是
//System.Web.Security.FormsAuthentication.SignOut();

------解决方案--------------------
你的图片不对 是因为你在config里有配置 并且应该这些图片是在admin文件夹里的 如果在admin文件夹外,应该没有问题!
<authentication mode="Forms"> 
<forms loginUrl="Admin/login.aspx" defaultUrl="Login.aspx"> 
</forms>

所以应该在<system.web>的外边 再写一些配置

<!--注意这里的PATH如果是绝对路径 千万不要写 ~/ 否则配置无效-->
<location path="admin/img"> 
<system.web>
<authorization> 
<allow users="*"/> 
</authorization> 
</system.web>
</location>
<!---这样配置以后 你的图片文件夹 匿名用户也就可以访问了 否则在login页面里的图片就会有问题-->