首页 > 解决方案 > ASP.NET MVC 多重身份验证

问题描述

我的数据库中有两种类型的用户,一种是用户,另一种是管理员。我已经进行了用户和管理员登录,并且它们都可以正常工作。我在某些用户类中使用了 [Authorize],每当我浏览该链接时,它都会自动重定向到用户登录。现在,问题来了。我也在一些管理类中使用了 [Authorize],希望重定向到管理员登录,但它会重定向到用户登录。

网络配置

 <authentication mode="Forms">
  <forms loginUrl="~/Login/LoginView" timeout="2880"/>
</authentication>

AdminRetrieveCrimeReportController.cs

using OnlineCrimeReportingSystem.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace OnlineCrimeReportingSystem.Controllers
{
[Authorize]
public class AdminRetrieveCrimeReportController : Controller
{
    private OnlineCrimeReportingSystemEntities2 context = new OnlineCrimeReportingSystemEntities2();
    // GET: AdminRetrieveCrimeReport
    public ActionResult AdminRetrieveCrimeReportView()
    {
        var model = context.Crimes.ToList();
        return View(model);
    }

    public ActionResult DeactiveCrime(int id)
    {
        var crime = context.Crimes.Find(id);
        crime.Status = false;

        context.Entry(crime).State = System.Data.Entity.EntityState.Modified;
        context.SaveChanges();

        return RedirectToAction("AdminRetrieveCrimeReportView");
    }
}
}

此页面 AdminRetrieveCrimeReportView 应该重定向到 AdminLogin 但它会重定向到 Userlogin 请帮助我。

标签: asp.net-mvc-4

解决方案


推荐阅读