如何解决当控制器具有AllowAnonymous属性时,ASP.net MVC Authorize属性不起作用
我有asp.net MVC5项目
我匿名允许Home控制器中的所有操作
但是现在的要求是防止2项操作,并且只有在用户登录后才可以访问它们。
下面的代码不起作用意味着没有登录就显示求职页面
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Data.Entity;
using System.Threading;
using System.Web;
using System.Web.Mvc;
using myproject.Models;
using Newtonsoft.Json;
using System.Web.Script.Serialization;
using System.Net;
using System.Net.Mail;
using System.IO;
using Microsoft.AspNet.Identity;
using System.Text.RegularExpressions;
using System.Configuration;
namespace myproject.Controllers
{
[AllowAnonymous] /************Controller level AllowAnonymous************/
public class HomeController : Controller
{
private ApplicationDbContext db = new ApplicationDbContext();
public HomeController()
{
//code
}
[Authorize]/***********************this is not working*************/
public ActionResult Jobapply(int id)
{
return View();
}
[Authorize]/***********************this is not working*************/
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Jobapply(VacancyApplication vacancyApp)
{
return View();
}
}
}
解决方法
您可以在控制器级别使用[Authorize]属性,并单独允许您要未经授权允许的操作将[AllowAnonymous]属性应用于该特定操作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。