(作者:苦行者;撰写时间:2019年6月28日)

1、意义

我们都知道在进入主页面之前要走“登录”这一步操作,登录的目的就是为了限制一些没有“身份”的人登录和操作主页面,登录页面是主页面要求设置的一道“关卡”。

起初,二者之间是没有任何的联系,大家同为页面,彼此不认识谁,更不会存在相互制约的关系;然而,在“程序员”这个“上帝意识”的有意“撮合”下,彼此之间催生了一种若有若无的内在联系:“登录”成了“主页面”的“必经之路”和“关口”。

本以为有了这层关系,所有人都能规规矩矩地乖乖走“登录”的程序,然而就有许多的“不法分子”偏偏不按套路出牌,一个个都抓住了“浏览器”的把柄(浏览历史),见下图:

ingress 服务器重定向 重定向服务器的作用_重定向


悄悄地把“通关文牒”——路径给改了,让他一下子免去了审核(登录)的步骤,大摇大摆地走进了“神圣的殿堂”,硬生生地把“登录”贬为了一道家常美味“酸菜鱼(又酸又菜又多余)”。

看到这一幕,作为“上帝”的“程序员”怎会放任自由,于是他便想出了一个绝妙的办法,他创造了“重定向”这个“侩子手”把“浏览器”这个罪魁祸首抓起来“斩首示众”,之后,那些“不法分子”便无计可施了,这便是“重定向”被创造出来的意义。

2、言归正传,下面是主页面控制器部分的代码

在进入主页面之前,它会先进行一次判断,判断session中是否存在有数据,如果有,证明该用户已经登录过了,如果没有,说明还没有登录,它便会立马重定向回到登录页面,直到把登录的信息填写完整才能进入主页面。

ingress 服务器重定向 重定向服务器的作用_ingress 服务器重定向_02


3、就目前我知道的重定向的方法就有两种,redirect()和redirect To Action(),一种是上图所示红色下划线标明的那种重定向回完整路径的方法,另一种便是下面这种仅仅重定向回指定的某个Action方法,该种方法一般只能在同一个控制器下才能实现重定向。

ingress 服务器重定向 重定向服务器的作用_ingress 服务器重定向_03


设置了重定向之后,一切都在按部就班地进行着,“不法分子”再也无法钻浏览器的空子,这也使得登录页面有了存在的意义。

ingress 服务器重定向 重定向服务器的作用_重定向_04