|
很多用户在开发 ASP.NET 应用程序时都有这样的需求:管理员角色的账户使用管理员的登录界面进行登录,普通用户角色的账户使用普通用户的登录界面进行登录。由于ASP.NET的web.config里只能使用一个 authentication mode="Forms"节点,所以,要实现不同用户采用不同的登录界面,一个办法就是创建一个管理员专用的虚拟目录,并设置为应用程序来实现。下面介绍另外一种采用重定向的办法来解决这个问题。
本文介绍的方法原理是根据登录界面的返回地址进行判断,然后重定向到不同的页面。下面就是实现的详细过程。
1. 创建一个网站,在网站里创建Admin文件夹和User文件夹,分别存放admin和普通用户所使用的文件。也可以只设置一个 Admin 文件夹。由于本方法采用的判断返回路径的方法,所以,要能从路径中区分出哪些是admin用户使用的文件夹。当然,采用其他的判断方法也是可以的。
2. 在网站根目录下分别创建3个登录文件:Login.ASPx、UserLogin.ASPx和AdminLogin.ASPx。其中Login.ASPx文件起地址转换的作用,
Login.ASPx文件的主要内容:
protected void Page_Load(object sender, EventArgs e){String ReturnUrl = Request.QueryString["ReturnUrl"];if (ReturnUrl == null || ReturnUrl.Equals(String.Empty)){ //默认情况下,按普通用户进行登录 Response.Redirect("~/UserLogin.ASPx");}else{ if (ReturnUrl.ToLower().Contains("/admin/")) { Response.Redirect("~/AdminLogin.ASPx?ReturnUrl=" + Server.UrlEncode(ReturnUrl)); } else { Response.Redirect("~/UserLogin.ASPx?ReturnUrl=" + Server.UrlEncode(ReturnUrl)); }}
NET技术:在 ASP.NET 中实现不同角色的用户使用不同登录界面的方法,转载需保留来源!
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。