我有一个asp.net MVC5项目我允许家庭控制器中的所有操作匿名
,但现在的要求是防止2个操作,并使它们只有在用户登录时才可访问。
以下代码不起作用意味着在没有登录的情况下显示jobapplication页面
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]属性应用于该特定操作。