asp.net-mvc – ASP.net MVC成员资格重定向,具体取决于角色
发布时间:2020-12-16 06:53:56 所属栏目:asp.Net 来源:网络整理
导读:我有两种类型的角色[Admin,HelpDeskAdmin]. 我有一个登录视图(两个用户都转到相同的登录链接),我想在登录后检查他们的角色,并在经过身份验证后重定向到各自的管理页面.下面的代码不会将登录用户标识为第一次出现在角色中并重新加载登录页面,第二次登录时它会
我有两种类型的角色[Admin,HelpDeskAdmin].
我有一个登录视图(两个用户都转到相同的登录链接),我想在登录后检查他们的角色,并在经过身份验证后重定向到各自的管理页面.下面的代码不会将登录用户标识为第一次出现在角色中并重新加载登录页面,第二次登录时它会正确重定向. 这是否与第一次检查时没有到位的身份验证cookie有关?我怎么能完成这个场景? [HttpPost] public ActionResult LogOn(LogOnModel model,string returnUrl) { if (ModelState.IsValid) { if (MembershipService.ValidateUser(model.UserName,model.Password)) { FormsService.SignIn(model.UserName,model.RememberMe); if (!String.IsNullOrEmpty(returnUrl)) { return Redirect(returnUrl); } else { if (Roles.IsUserInRole("Admin")) { //go to admin landing page return RedirectToAction("Index","Manage"); } else if (Roles.IsUserInRole("HelpDesk")) { //go to helpdesk landing page return RedirectToAction("Index","Interview"); } else /******FIRST TIME THROUGH IT ALWAYS GOES HERE *******/ return RedirectToAction("Index","Home"); //not in any of those roles } } else { ModelState.AddModelError("","The user name or password provided is incorrect."); } } // If we got this far,something failed,redisplay form return View(model); } 解决方法
在处理下一个请求并设置了身份验证Cookie之前,用户在技术上不会登录….
可以在另一个Action方法中执行重定向逻辑,也可以使用此Action中的Roles.IsUserInRole(model.UserName,“Admin”)[[注意指定用户名]]来提取用户信息. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 是否可以绑定资源文件X以发布配置文件Y?
- asp.net – 可能添加MIME类型到web.config而不可能打破网站
- asp.net-mvc-3 – MVC默认重定向错误页面并不总是显示
- asp.net代码中修改web.config节点的具体方法
- 最好的TinyMce编辑器图像管理器/文件上传为Asp.net Mvc
- ASP.NET控件的命运
- asp.net – 在VS Code和VS 2015之间切换
- asp.net – 如何在Visual Studio中添加NUnit
- asp.net-mvc – 将表单提交为JSON(无AJAX)
- asp.net – 哪个更快…… XSLT宏或.NEt用户控件
推荐文章
站长推荐
- asp.net – StaticSelectedStyle-CssClass不工作
- ASP.NET AJAX与ASP.NET MVC中的jQuery
- ASP.NET通过ajax调用后台方法
- asp.net-mvc – RenderSection在ASP.NET MVC3中的
- 使用VSCode,DNX和kestrel运行第一个ASP.NET 5应用
- asp.net – 当引发CacheItemRemovedCallback时,H
- asp.net-mvc-3 – 跨域的SignalR
- asp.net – 格式化DataBinder.Eval数据
- asp.net – 如何防止CPU占用100%,因为iis中的工
- asp.net – JMeter测试ASP .NET网页有多好?
热点阅读