【问题标题】:ASP.NET MVC AuthorizationASP.NET MVC 授权
【发布时间】:2014-05-19 06:07:46
【问题描述】:

如何使用 MVC asp.net 实现授权?

【问题讨论】:

标签: c# asp.net-mvc authorization


【解决方案1】:

使用授权属性

[Authorize]
public ActionResult MyAction()
{
   //stuff
}

您也可以在控制器上使用它。也可以传入用户或角色。

如果你想要更多的控制权,你可以试试this

 public class CustomAuthorizeAttribute : AuthorizeAttribute
    {
        protected override bool AuthorizeCore(HttpContextBase httpContext)
        {
            string[] users = Users.Split(',');

            if (!httpContext.User.Identity.IsAuthenticated)
                return false;

            if (users.Length > 0 &&
                !users.Contains(httpContext.User.Identity.Name,
                    StringComparer.OrdinalIgnoreCase))
                return false;

            return true;
        }
    }

【讨论】:

    【解决方案2】:

    MVC 有一个授权功能,使用 ASP.NET MVC beta 并从 Visual Studio 创建 MVC 项目,自动添加一个使用授权的控制器。有助于您的谷歌搜索的一件事是它是一个“过滤器”。因此,请尝试搜索“Authorization Filter MVC”,任何预览版 4 或更高版本都会有所帮助。

    【讨论】:

    • 啊,我只是在搜索“ASP.NET”“MVC”授权并没有真正找到太多,感谢您让我知道搜索过滤器。我在搜索 MVC 帮助时遇到的另一个问题是,我发现以前版本的预览没有标记为“预览 2”等内容!
    • 我也有同样的问题,有些 MVC 帖子没有被标记。我通常检查帖子上的日期,几个月前,我认为是可疑的。我将深入研究 MVC 并写博客。你有什么要求吗?
    • 是的,如果您尝试使用 jQuery 完成 ajax 表单提交和更新的解决方案,而不是标准发布到控制器并返回视图,那将是非常棒的!随时发布指向您博客的链接!
    • jquery ajax 的东西实际上不会那么酷。控制器操作可以直接返回 JsonResult(它们并不总是必须渲染视图),因此整个过程相当虎头蛇尾! :-)
    • 我想看看是否可以在三种模式下并行实现解决方案:ASP.NET、WPF 和 Silverlight。 (我注意到有一个“WPF 浏览器应用程序”类型......需要检查一下......)
    【解决方案3】:

    我建议看看这篇文章: http://kbochevski.blogspot.com/2009/11/mvc-forms-authentication-and.html

    今天对我有帮助。

    【讨论】:

      【解决方案4】:

      默认情况下,您可以通过以下方式进行身份验证: http://mycodepad.wordpress.com/2014/03/17/mvc-secure-your-web-app/

      【讨论】:

        猜你喜欢
        • 2010-10-21
        • 2011-01-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-10-31
        • 2018-07-11
        相关资源
        最近更新 更多