mvc跳转问题
正常地址是http://xxxx/OA/pms/
但是之前有部分用户保存的是 http://xxxx/oa/pms/ 小写 或者不小心输入小写。
希望能自动跳转到http://xxxx/OA/pms/ 页面
请问怎么解决呢?
目前这个是跳转的控制器 没测试 感觉有问题。 OA/pms/是iis发布设置的虚拟目录。
namespace pms.AOP
{
public class LoginCheckAttribute : Controller
{
protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
if (filterContext.RouteData.Values["controller"].ToString().IndexOf("Login", StringComparison.Ordinal) >= 0)
{
//oa/pms/跳转
if (filterContext.HttpContext.Request.Url != null && filterContext.HttpContext.Request.Url.ToString().IndexOf("oa/pms", StringComparison.Ordinal)>=0)
{
filterContext.Result = RedirectToRoute(new { Controller = "Login", Action = "Index" });
}
return;
}
var token = "";
var httpContext = System.Web.HttpContext.Current;
if (httpContext.Request.Cookies["token"] != null) token = httpContext.Request.Cookies["token"].Value;
if (token == "")
{
var httpCookie = httpContext.Request.Cookies["Redis_SessionId"];
if (httpCookie != null)
token = "Session_" + httpCookie.Value;//第3方登入
}
var flag = RedisBase.Hash_Exist
牧羊人nacy
浏览 535回答 4
4回答
-
料青山看我应如是
首先,IIS发布默认是不区分大小写的。另外,作为虚拟目录,浏览器会当成两个来存储localStorage么(还真没注意过这个问题)?
就问题本身来说,在页面index.html上,写个js,发现是小写的oa,就重新设定一个新的跳转地址。(该方式也可以在后端通过Navigate来做)。
-
千万里不及你
你找找有没有类似“MVCURL忽略大小写”这样的结果吧。
-
摇曳的蔷薇
其实大小写结果一样 只是我页面保存了cookie 和 localstorage 登入成功后变成http://xxxx/OA/pms/
之前写入的都在 http://xxxx/oa/pms/这里域里面 所以会出现一个异常问题 提示未登入。
-
撒科打诨
@s_p: 是你的cookie设置问题?你的cookie设置的path是什么?
打开App,查看更多内容