none
页面拒绝匿名用户,允许已登录的用户访问,该怎么配置? RRS feed

  • 问题

  •   <location path="Management.aspx">
        <system.web>
          <authorization>
            <deny users="?"/>
          </authorization>
        </system.web>
      </location>

    • 已编辑 fss199 2012年1月4日 12:11
    2012年1月4日 12:10

答案

全部回复

  • 以下示例允许Admins角色的人登入

      <system.web>
    <authorization>
    <allow roles="Admins"/>
    <deny users="?"/>
    </authorization>
    </system.web>

     

    Reference:

    http://msdn.microsoft.com/zh-cn/library/8d82143t(v=vs.80).aspx

     

     

     



    2012年1月4日 12:33
  • 为什么以下验证后,浏览器还无法跳转

    string _roles = "Admins";
    
                    FormsAuthenticationTicket Ticket = new FormsAuthenticationTicket(1, _username, DateTime.Now, DateTime.Now.AddMinutes(30), false, _roles, "/");
                    string HashTicket = FormsAuthentication.Encrypt(Ticket);
                    HttpCookie UserCookie = new HttpCookie(FormsAuthentication.FormsCookieName, HashTicket);
                    Context.Response.Cookies.Add(UserCookie); 
    
    
                    bool IsRememberMe = IsMember.Checked;
                    Response.Redirect(System.Web.Security.FormsAuthentication.GetRedirectUrl(_username, IsRememberMe));            
               

     

    • 已编辑 fss199 2012年1月5日 0:44
    2012年1月4日 13:13
  •   <location path="Management.aspx">
        <system.web>
          <authorization>
            <deny users="?"/>
          </authorization>
        </system.web>
      </location>

        <authentication mode="Forms">
          <forms name=".SS" loginUrl="~/Login.aspx" protection="All" timeout="30" defaultUrl="Default.aspx" path="/" />
        </authentication>
        <webServices>
          <protocols>
            <add name="HttpPost" />
          </protocols>
        </webServices>
        <authorization>
          <deny users="?"/>
          <!--Require authrntication-->
          <allow users="*"/>
          <!--Allow all authenticateted users-->
        </authorization>
    2012年1月5日 1:14
  • 請問你是用哪種驗證方式,如果是Forms驗證可以試著利用下列的設定來拒絕所有匿名使用者,所有尚未通過驗證者要求都會被導到login.aspx。

     <authentication mode="Forms">
              <forms defaultUrl="Page1.aspx" loginUrl="Login.aspx" />
     </authentication>
     <authorization>
              <deny users="?"/>
     </authorization>
    



    以上說明若有錯誤請指教,謝謝。
    http://www.dotblogs.com.tw/terrychuang/
    2012年1月5日 1:54
  • 你好fss199:)

    你的第一个配置应该是可以的。不过我认为你完全使用http://msdn.microsoft.com/zh-cn/library/ka5ffkce.aspx(RedirectFromLoginPage)方法,既注册了,同时又跳转到初始页面。

    另外你的代码我测试过,是完全可以的。

    1)我创建了两个页面:

    2)在WebForm1中放置一个按钮,同时双击,代码黏贴你的代码。

    3)运行WebForm1,单击按钮,然后在地址栏输入management.aspx完全可以访问。


       QQ我:讨论(Talk)
    下载MSDN桌面工具(Vista,Win7)
    我的博客园
    慈善点击,点击此处
    • 已标记为答案 fss199 2012年1月5日 8:03
    2012年1月5日 2:22