请问一下,mvc中如何禁止用户通过url访问网页

电饭锅煲汤 2017-05-31 10:47:40
以前用mvc做了一个小项目,里面有个模板,为了防止用户跳过用户登录直接通过url地址直接访问网站,在母版页中判断用户的cookie是否存在来决定是否打开当前页面。现在也是为了防止用户直接用url访问,有什么其他方法可以实现吗?
...全文
794 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
电饭锅煲汤 2017-06-02
  • 打赏
  • 举报
回复
谢谢各位大佬,等忙完试一下
事实胜于雄辩 2017-06-01
  • 打赏
  • 举报
回复
引用 12 楼 meixu568 的回复:
[quote=引用 7 楼 sp1234 的回复:] 说白了,就是你在 asp.net mvc 的这种编程格式中,不知道怎么读取 cookie 了?是不是?
操作cookie这我知道,只是页面太多的时候就比较麻烦了[/quote] 可以整一个类,每个页面都继承这个类,类里面 判断cookie ,如果没有直接 转 login界面。
  • 打赏
  • 举报
回复
这在原理上没有任何改变,就是皮毛变了一下形式。
  • 打赏
  • 举报
回复 1
说白了,就是你在 asp.net mvc 的这种编程格式中,不知道怎么读取 cookie 了?是不是?
正怒月神 版主 2017-05-31
  • 打赏
  • 举报
回复
看你的防止直接输入url,目的只是为了验证登录。 那么你应该继承一个 basecontroller,实现其中的OnActionExcuting http://blog.csdn.net/hanjun0612/article/details/50591996
by_封爱 2017-05-31
  • 打赏
  • 举报
回复
把你的网页 都设置成post不就行了?
闭包客 2017-05-31
  • 打赏
  • 举报
回复
其实网页访问的原理已经决定了这个需求是不可能实现的。 因为服务器不能区分一个请求是在浏览器的地址栏发出的,还是在 html 文档中发出的。 可以通过令牌或者更细致的方式,跟踪用户的行为,来判断用户是否在地址栏键入地址,不过这都是无法完全满足的。 或者说阻止用户在地址栏键入地址这种设计,本身就是与 web 的思想背道而驰的。
电饭锅煲汤 2017-05-31
  • 打赏
  • 举报
回复
引用 7 楼 sp1234 的回复:
说白了,就是你在 asp.net mvc 的这种编程格式中,不知道怎么读取 cookie 了?是不是?
操作cookie这我知道,只是页面太多的时候就比较麻烦了
本人QQ-554433626 2017-05-31
  • 打赏
  • 举报
回复
可以request.UrlReferrer判断上个页面是否为登录页 。 直接通过浏览器访问的情况可行。这个Referrer是可以伪造的 所以还是不安全。 最好是写个cookie 弄个菜单权限继承ActionFilterAttribute
  • 打赏
  • 举报
回复
每个页面要加权限验证啊。 比如我想跳过登录直接访问 A页面。 A页面会有个session的判断,如果存在session的用户id,然后再验证该用户是否有权限访问A页面,要是连session都不存在直接跳回登录页面。
xdashewan 2017-05-31
  • 打赏
  • 举报
回复
搜索mvc权限管理
编程有钱人了 2017-05-31
  • 打赏
  • 举报
回复

 [Authorize]
    public class HomeController : Controller
    {
   }
加上 [Authorize]
mirrorspace 2017-05-31
  • 打赏
  • 举报
回复
这个很常用了 可以使用"表单验证" webconfig里 没登录时,跳到/home/login登录页 <authentication mode="Forms"> <forms loginUrl="~/home/Login" timeout="2880" /> </authentication> 登录之后.往客户端发一个票(ID) COOKIE 然后在所有需要登录的控制器类上贴上 [Authorize]. 可以实现只要没登录,就转到登录页. 但是,如果它登录了,在知道URL地址的情况下,依然可以输入地址转到指定页面
丰云 2017-05-31
  • 打赏
  • 举报
回复
没有把握问题的本质,甚至不知道什么是登录验证。。。。。

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧