diff --git a/src/Microsoft.AspNet.Mvc.Core/Controller.cs b/src/Microsoft.AspNet.Mvc.Core/Controller.cs index 457338bb84..a3e85cf5b8 100644 --- a/src/Microsoft.AspNet.Mvc.Core/Controller.cs +++ b/src/Microsoft.AspNet.Mvc.Core/Controller.cs @@ -16,6 +16,7 @@ // permissions and limitations under the License. using System; +using System.Security.Principal; using System.Text; using Microsoft.AspNet.Abstractions; using Microsoft.AspNet.Mvc.Core; @@ -54,6 +55,18 @@ namespace Microsoft.AspNet.Mvc public IActionResultHelper Result { get; private set; } public IUrlHelper Url { get; set; } + public IPrincipal User + { + get + { + if (Context == null) + { + return null; + } + + return Context.User; + } + } public ViewDataDictionary ViewData { get; set; } @@ -155,7 +168,7 @@ namespace Microsoft.AspNet.Mvc public RedirectToActionResult RedirectToAction(string actionName, string controllerName, object routeValues) { - return new RedirectToActionResult(Url, actionName, controllerName, + return new RedirectToActionResult(Url, actionName, controllerName, TypeHelper.ObjectToDictionary(routeValues)); } @@ -177,7 +190,7 @@ namespace Microsoft.AspNet.Mvc public RedirectToActionResult RedirectToActionPermanent(string actionName, string controllerName, object routeValues) { - return new RedirectToActionResult(Url, actionName, controllerName, + return new RedirectToActionResult(Url, actionName, controllerName, TypeHelper.ObjectToDictionary(routeValues), permanent: true); } diff --git a/src/Microsoft.AspNet.Mvc.Razor/RazorView.cs b/src/Microsoft.AspNet.Mvc.Razor/RazorView.cs index 1b7a8b99f7..0b475f667a 100644 --- a/src/Microsoft.AspNet.Mvc.Razor/RazorView.cs +++ b/src/Microsoft.AspNet.Mvc.Razor/RazorView.cs @@ -22,6 +22,7 @@ using System.IO; using System.Linq; using System.Net; using System.Security.Cryptography; +using System.Security.Principal; using System.Text; using System.Threading.Tasks; using Microsoft.AspNet.DependencyInjection; @@ -44,6 +45,19 @@ namespace Microsoft.AspNet.Mvc.Razor public IUrlHelper Url { get; private set; } + public virtual IPrincipal User + { + get + { + if (Context == null || Context.HttpContext == null) + { + return null; + } + + return Context.HttpContext.User; + } + } + public dynamic ViewBag { get