asp.net mvc如何实现多个登录页自动跳转的身份认证?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了asp.net mvc如何实现多个登录页自动跳转的身份认证?相关的知识,希望对你有一定的参考价值。
我有会员,店铺,管理员三种身份人员,有各自的登录页和管理中心,在mvc中使用身份验证,【authorize】在未登陆时如何让他们跳转到各自的登录页呢,?
<authentication mode="forms">
<forms loginurl='/logon' timeout='2880'/>
</authentication>
这样只能跳转到一个登录页,如何调整到各自的登录页呢
你可以使用一个统一的登录页面,然后让用户选择自己属性什么角色,最后再根据用户的不同选择转到不同的页面就行了。 参考技术A 同意楼上的,你让用户自己选择,银行的登陆都搞成这样的,普通用户,和企业用户分开登陆 参考技术B loginUrl:是在没有通过身份验证的情况下,跳转到的登录页面
注意:这个属性配置的英文为login和Url 即登录+统一资源定位
如此loginUrl就是可以看作是登录页,登录页只是表示识别用户身份的方式之一,根据你的问题来看应该是作为识别用户类别的一种方式,按照逻辑处理顺序这里你应该是在识别你的配置文件中的authorization下你配置的用户是否具有访问权限,这个时候你是可以获取到当前访问用户是你所配置的那一个用户,对照用户你可以在loginUrl页上确认用户的身份来做跳转处理,跳转到你需要的各自的登录页上去。
详细建议百度一下mvc.net forms验证
在asp.net mvc中实现页面跳转的方式都有哪些?有啥区别?
具体方式和区别如下:
1、第一种方法:通过HttpServletResponse的API直接输出
步骤:
控制层:controller类的编写
@Controller
public class RequestController
@RequestMapping("/request") //映射地址注入
public void handleRequest(HttpServletRequest rq, HttpServletResponse rp) throws Exception
rp.getWriter().println("request");
2、web.xml文件的配置
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
3、第二种方法:使用HttpServletResponse 类进行重定向跳转视图
@RequestMapping("/Response")
public void handleRequest(HttpServletRequest rq, HttpServletResponse rp) throws Exception
rp.sendRedirect(url); //跳转的指定页面。
4、第三种:使用HttpServletRequest 转发
@RequestMapping("/request")
public void handleRequest(HttpServletRequest rq, HttpServletResponse rp) throws Exception
req.setAttribute("属性名","属性值"); //赋值
req.getRequestDispatcher(url).forward(rq,rp); //跳转
参考技术A 直接提交到另一个页面的action,或者redirct转向别的页面. 参考技术B 页面跳转的方式跟asp或者mvc似乎没有关系
以上是关于asp.net mvc如何实现多个登录页自动跳转的身份认证?的主要内容,如果未能解决你的问题,请参考以下文章
asp.net mvc 如何实现自动提交或保留用户未登录前得信息
asp.net(vs2008 c# 中) 如何在跳转的页面传递参数?