Tag: asp.net mvc

Mvc,授权反弹授权用户

我试图将MVC 5网页的一部分限制为某个Active目录组的用户,但[Authorize]属性(在控制器上)阻止登录用户。 我的登录页面代码如下所示: public class AccountController: Controller { [AllowAnonymous] public ActionResult Login(string returnUrl) { ViewBag.ReturnUrl = returnUrl; return View(); } // POST: /Account/Login [HttpPost] [AllowAnonymous] [ValidateAntiForgeryToken] public ActionResult Login(LoginModel model, string returnUrl) { if (ModelState.IsValid) { ActiveDirectoryHelper ad = new ActiveDirectoryHelper(); if (Membership.ValidateUser(model.UserName, model.Password)) { if (ad.CheckGroupMembership(model.UserName)) { FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe); if (Url.IsLocalUrl(returnUrl) && returnUrl.Length > […]

当前上下文中不存在名称“DefaultAuthenticationTypes”

我正在尝试在我的Web应用程序中实现基于角色的授权,如下所示: [HttpPost] [ActionName(“Login”)] public ActionResult Login(LoginViewModel model) { if (ModelState.IsValid) { string userName = model.Username; string[] userRoles = (string[])Session[“UserRoles”]; ClaimsIdentity identity = new ClaimsIdentity(DefaultAuthenticationTypes.ApplicationCookie); identity.AddClaim(new Claim(ClaimTypes.NameIdentifier, userName)); userRoles.ToList().ForEach((role) => identity.AddClaim(new Claim(ClaimTypes.Role, role))); identity.AddClaim(new Claim(ClaimTypes.Name, userName)); AuthenticationManager.SignIn(identity); return RedirectToAction(“Success”); } else { return View(“Login”,model); } } 我在两行上出错了: 1.ClaimsIdentity identity = new ClaimsIdentity(DefaultAuthenticationTypes.ApplicationCookie); 和: 2.AuthenticationManager.SignIn(identity); 错误1: the […]

validationJWT令牌后访问dotnetcore中间件

我正在使用JWT承载认证,配置如下。 我的问题是在validation令牌之前中间件正在执行。 如何配置中间件以后运行? services.AddAuthentication() .AddCookie(_ => _.SlidingExpiration = true) .AddJwtBearer( _ => { _.Events = new JwtBearerEvents { // THIS CODE EXECUTES AFTER THE MIDDLEWARE???? OnTokenValidated = context => { context.Principal = new ClaimsPrincipal( new ClaimsIdentity(context.Principal.Claims, “local”)); return Task.CompletedTask; } }; _.RequireHttpsMetadata = false; _.SaveToken = false; _.TokenValidationParameters = new TokenValidationParameters() { ValidIssuer = this.Configuration[“Tokens:Issuer”], […]

如何使用带复选框和下拉菜单的自动回发function?

我有一个Web流(asp.net),它有一个下拉菜单和一个复选框。 勾选复选框后,我需要禁用该表单中的某些字段。 从复选框中选择特定值时,我需要禁用其他字段。 我指定了这样的复选框: 和下拉这样: <%= Html.MyDropDownList(string.Format("Questions[{0}].Answer", i), (IEnumerable)ViewData[“Periods”], Model.Questions[i].Answer)%> 其中MyDropDownList是Html.DropDownList的扩展 我听说过自动回发 – 但不确定如何使用它 – 任何建议都会很棒! 我正在使用ASP.NET MVC 3。 谢谢! – L.

捆绑链接的JavaScript文件

我正在使用Visual Studio 2012和MVC4。 我已经将链接文件(来自另一个项目)添加到我的MVC4应用程序中。 以下是文件的属性: 构建行动:内容 复制到输出目录:不要复制 这是我的包的一个例子: bundles.Add(new ScriptBundle(“~/bundles/jqueryval”).Include(“~/Scripts/jquery.unobtrusive*”,”~/Scripts/jquery.validate*”,”~/Scripts/FolderA/*.js”)); 为了测试,我还在该文件夹中添加了一个空的JavaScript文件(temp.js)。 这不是链接文件。 检查页面源时,会显示此文件,但链接文件不会显示。 我无法直接导航到此文件。 捆绑中的其他文件看起来很好。 链接文件可以捆绑吗?

在日期时间只在剃刀中获得MM / dd / yyyy

我有这样的代码 @Html.EditorFor(model => model.VoluntaryWork.DateEnded) @Html.ValidationMessageFor(model => model.VoluntaryWork.DateEnded) 并且工作正常。 但它正从我的sql中检索整个数据 当前代码的输出 3/22/2017 12:00:00 AM 期望的输出 3/22/2017 我尝试使用像这样的代码@Html.ValidationMessageFor(model => model.VoluntaryWork.DateEnded.Value.ToShortDateString())但是它给了我一个错误 模板只能用于字段访问,属性访问,单维数组索引或单参数自定义索引器表达式 我尝试在谷歌搜索并发现这个但对我来说这是一个很长的方法? 我是那种方法的新手,所以我不知道如何使用它。 有没有最短的方法来实现所需的输出? 更新 控制器代码 PersonVoluntaryWork pvw = db.PersonVoluntaryWorks.Single(vw => vw.VoluntaryWorksId == id); return PartialView(“_NewPersonVoluntaryWorks”, pvw); 视图 @model System.Models.PersonVoluntaryWork @using (Html.BeginForm()) { @Html.EditorFor(model => model.VoluntaryWork.DateEnded) @Html.ValidationMessageFor(model => model.VoluntaryWork.DateEnded) }

如何控制Orchard中菜单的渲染

我有以下问题:我在Orchard建立一个网站,并且必须应用一些设计公司的设计。 他们提供了html和CSS(+ LESS),我必须把它变成一个主题。 除了菜单之外,我大部分时间都完成了。 我想在下面的代码中将一个类应用于nav标签,但我不能为该结束渲染任何替代。 Home Something1 Something2 Something3 如何影响菜单的渲染,以便我可以应用适当的CSS? 我可以制作的唯一替代品只包含: @Model.Text 要么: @Display(Model.Menu)

c#MVC – 文件夹结构 – 放置类的位置?

在asp / net MVC中,该项目分为模型,视图和控制器。 好到目前为止。 假设我有一个类’人’,人控制器使用人模型填充数据。 把我的person.cs课最好放在哪里? 在控制器或模型文件夹中? 你是做什么? 谢谢 坦率

XMLHttpRequest()不被识别为IsAjaxRequest?

要在会话超时进行Ajax请求时将用户重定向到登录页面,我实现了以下自定义属性, 与Unauthorize request相关的代码如下, protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext) { if (filterContext.HttpContext.Request.IsAjaxRequest()) { filterContext.HttpContext.Response.StatusCode = 403; filterContext.Result = new JsonResult { Data = new { Error = “SessionTimeOut” }, JsonRequestBehavior = JsonRequestBehavior.AllowGet }; filterContext.HttpContext.Response.End(); } ……………….. 这适用于ajax请求($ .ajax)。 但是filterContext.HttpContext.Request.IsAjaxRequest()不会将XMLHttp请求识别为ajax请求。 var xhr = new XMLHttpRequest(); xhr.open(‘POST’, “…URL”); xhr.send(formdata); 有没有人遇到类似的问题? 什么是解决方案?

如何解决我的项目DLL和GAC中的DLL之间的歧义?

我目前正在研究ASP.NET MVC项目中的另一个问题 。 为了更好地理解代码库中发生的事情,我决定在我自己的项目中引用ASP.NET MVC源代码项目,方法是将解决方案文件添加到我的引用中。 当我这样做时,我开始收到HTTP 404错误。 我恰好在HandleErrorAttribute的OnException()方法上设置了断点,否则可能需要很长时间才能找到实际问题。 当我将鼠标hover在OnException方法调用中的filterContext参数上时,我得到此Exception描述: 类型’System.Web.Mvc.ViewMasterPage’是不明确的: 它可能来自assembly[GAC中的assembly路径] 或从assembly[我的项目中的assembly路径] GAC中的程序集就在那里,因为我安装了ASP.NET MVC 2.0 RC2版本 。 我如何才能最好地解决这种歧义?