如果用户使用ASP.NET直接在浏览器中访问URL,如何重定向到登录页面

Muh*_*rar 2 c# asp.net entity-framework-6

我正在研究asp.net实体框架.我想只通过登录访问页面,而不是直接输入页面的URL.如果用户输入页面的URL并尝试访问它,则应将其重定向到登录页面.我怎样才能做到这一点?用户应该使用DB的用户名和密码登录.我是ASP.NET的新手

Ale*_*ell 6

您正在寻找的功能可以通过将以下身份验证/授权部分添加到ASP.NET Web.config文件来实现,如以下示例所示:

<system.web>
  <authentication mode="Forms">
    <forms name="SomeName" 
           loginUrl="Login.aspx" 
           protection="All" 
           path="/">
    </forms>
  </authentication>
  <authorization>
    <deny users="?" />
  </authorization>
</system.web>
Run Code Online (Sandbox Code Playgroud)

它基本上拒绝未经身份验证的用户的所有访问:如果此类未经身份验证的用户尝试访问您网站上的任何页面,则他/她将被重定向到该Login.aspx页面(详情请访问MSDN https://msdn.microsoft.com/en-us/ library/wce3kxhd.aspx,https://msdn.microsoft.com/en-us/library/xdt4thhy.aspx).

希望这会有所帮助.