如果用户使用ASP.NET直接在浏览器中访问URL,如何重定向到登录页面
我正在研究asp.netentity framework。 我只想通过登录访问页面,而不是直接输入页面的URL。 如果用户输入页面的URL并尝试访问它,则应将其重定向到登录页面。 我怎样才能做到这一点? 用户应该使用DB的用户名和密码登录。 我是ASP.NET的新手
您正在寻找的function可以通过将以下身份validation/授权部分添加到ASP.NET Web.config
文件来实现,如以下示例所示:
它基本上拒绝未经身份validation的用户的所有访问:如果此类未经身份validation的用户尝试访问您网站上的任何页面,则他/她将被重定向到Login.aspx
页面(详情请访问MSDN https://msdn.microsoft.com/en -us / library / wce3kxhd.aspx , https: //msdn.microsoft.com/en-us/library/xdt4thhy.aspx )。
希望这会有所帮助。
如果您使用asp.net Identity来记录用户(我相信这是新MVC项目的默认设置),那么您可以使用数据注释在控制器上设置此function。 它应该看起来像
//GET [Authorize] public ActionResult Index(){ return View(); }
这可能会自动执行您想要的操作。 如果您最终需要明确定义Authorize属性将重定向用户的位置,那么这里有一个很好的答案。
使用Session变量。 用户登录后,立即创建会话变量并在其中存储一些值。 在每个页面加载事件中,对会话变量是否存在设置if条件。在else条件下,将用户重定向到登录页面。每次注销时,释放会话变量。
您可以在后面的代码中尝试这个
上述就是C#学习教程:如果用户使用ASP.NET直接在浏览器中访问URL,如何重定向到登录页面分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
if (User.Identity.IsAuthenticated == true) { Response.Redirect("The Page you want"); } else Response.Redirect("Login.aspx"); // redirect it to your login page
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1030032.html