去FAQ里看一下,有个相关的帖子。

解决方案 »

  1.   

    <authentication mode="Forms">
       <forms name=".ASPXCOOKIEDEMO" loginUrl="login.aspx" protection="all" timeout="30" path="/">
                        <!-- protection="[All|None|Encryption|Validation]" -->
       </forms>
    </authentication
      

  2.   

    如果我向楼上一样
    <authentication mode="Forms">
       <forms name=".ASPXCOOKIEDEMO" loginUrl="login.aspx" protection="all" timeout="30" path="/">
                        <!-- protection="[All|None|Encryption|Validation]" -->
       </forms>
    </authentication
    这样的话并不是队community目录加验证吧
      

  3.   

    我设置/web.config的验证模式为form<authentication mode="Forms">          <forms name="azecookie" loginUrl="login.aspx" timeout="30">                    </forms>           </authentication>          <authorization>          <allow users="*"/>           </authorization>我设置了/community/web.config<configuration>     <system.web>       <authorization>          <allow users="aze"/>          <deny users="*"/>       </authorization>    </system.web> </configuration>但是我以前没用过验证方式
    我不知道怎么作登陆
    比如我想登陆成功直接跳转的页面是/community/main.aspx
    我怎么作
    我用如下方法
    结果还是返回login.aspx 无法访问/community/main.aspx
    if(DrPwd == pwd)      {    Session["logname"] = userid;      Session["logid"] =     DrID;          FormsAuthentication.RedirectFromLoginPage(userid,true);      Response.Redirect("community/main.aspx");}
    求助
      

  4.   

    将     FormsAuthentication.RedirectFromLoginPage(userid,true);   改为: FormsAuthentication.SetAuthCookie( userid,true);
      

  5.   

    晕,你还没验证他登陆,就跳转。当然错了。
    建议你看看 清华的那本叫 asp.net安全高级编程,具体叫什么名字忘了。
      

  6.   

    用这个实现,非常简单:
    http://www.csdn.net/develop/article/18/18958.shtm
      

  7.   

    我已经在/index.aspx中通过这个事件添加了验证信息
    可是我的/community/下的web.config如何设置呢
    /不需要验证
    /community需要
    private void Button1_Click(object sender, System.EventArgs e)
    {
    string user = this.uid.Text; //读取用户名
    string password = this.upwd.Text; //读取密码
    if(Confirm(user,password) == true) //confirm方法用来验证用户合法性的
    {
    //string userRoles = UserToRole(user); //调用UserToRole方法来获取role字符串
    FormsAuthenticationTicket Ticket = new FormsAuthenticationTicket (1,user,DateTime.Now,DateTime.Now.AddMinutes(30), false,"/") ; //建立身份验证票对象
    string HashTicket = FormsAuthentication.Encrypt (Ticket) ; //加密序列化验证票为字符串
    HttpCookie UserCookie = new HttpCookie(FormsAuthentication.FormsCookieName,HashTicket) ; 
    //生成Cookie

    Context.Response.Cookies.Add (UserCookie) ; //输出Cookie
    Context.Response.Redirect("./community/main.aspx") ; // 重定向到用户申请的初始页面 }
    else
    {
    // 用户身份未被确认时的代码
    Response.Write("<script language=\"javascript\">alert('用户身份验证失败,密码错误或者没有这个用户!')</script>");
    }
    }
      

  8.   

    用不着在/community/再增加web.config
    如下就可以:
    <location path="community"> 
    <system.web>
    <authorization>
    <deny users="?" />
    </authorization>
    </system.web>
    </location>
      

  9.   

    <deny users="?" />
    是不是就是没有验证的用户全部拒绝???
    我去试一下
      

  10.   

    user="?"  匿名用戶
          *   所有用戶
    Attention:
    切記最好不用以下語句,因為他會覆蓋你的驗証cookie
    FormsAuthentication.RedirectFromLoginPage(userid,true);      Response.Redirect("community/main.aspx");
    Istend that
    string returnUrl=RequestString["returnurl"];
    if(returnUrl==null || string.empty)
       returnurl="";         //specify your url that you want to go
    A Example for a folder of admin
    <configuration>    <system.web>
    <!-- This setting is configured so that only authenticated users can visit any of the
    pages in the Admin directory -->
    <authorization>
                    <allow roles="Forum-Administrators" />
    <deny users="*" />
    </authorization>
        </system.web></configuration>