none
有关ASP.NET MVC 身份验证AuthorizeAttribute RRS feed

  • 问题

  • AuthorizeAttribute里的身份验证,就是在ActionResult上面加个[Authorize]标记就可以了。。

    我想问一下啊。比如像这样的[Authorize(Roles="admin")],这里昌按角色来验证的。我想问一下,他怎么知道我的用户在这个admin里的呢。。不理解这个。。

    我就是搞不明白他怎么来按角色进行验证的。。。

    比如我的数据库里有二个角色,admin user,就这两,然后有好多用户,通过角色表的ID来给用户角色。我想问一下。这里怎么用上面的[Authorize(Roles="admin")]来验证。。。

    还有就是[Authorize(TypeId=1)]这个是什么意思,有什么用吗?

    谢谢了啊。

    2010年6月24日 7:21

答案

  • 你必须先理解Role Based Security,请参考:http://msdn.microsoft.com/zh-cn/library/shz8h065.aspx

     HttpContext有一个User属性,它是一个实现IPrincipal的成员,IPrincipal有一个IsInRole方法,这个就是用来判断角色的。

     


    Facing problems, think first, then search, finally ask.
    2010年6月24日 16:01
    版主
  • 你好,

    AuthorizeAttribute继承于IAuthorizationFilter。

    很明显从字面上就可以看出三者的不同。

    AuthorizeAttribute用于授权验证,IActionFilter 用于在action执行前后做一些处理,IExceptionFilter 用于对一些exception进行处理,IResultFilter用于action返回result前执行result前后对该result进行一些处理。

    这些你都可以在源码中看代码了解。

    关于源码的讲解似乎没有。


    Microsoft Online Community Support
    2010年6月28日 2:09

全部回复

  • 你必须先理解Role Based Security,请参考:http://msdn.microsoft.com/zh-cn/library/shz8h065.aspx

     HttpContext有一个User属性,它是一个实现IPrincipal的成员,IPrincipal有一个IsInRole方法,这个就是用来判断角色的。

     


    Facing problems, think first, then search, finally ask.
    2010年6月24日 16:01
    版主
  • 我还想问一啊AuthorizeAttribute与IActionFilter IAuthorizationFilter IExceptionFilter IResultFilter这个过滤器,有什么不同吗,我看有的教程上做身份验证可以在Action之前做身份验证,ACtion之前与AuthorizeAttribute有什么关系吗?我这两一直为这个想不通。麻烦版主帮帮我!1
    2010年6月25日 0:48
  • 再问一下啊,ASP.NET MVC 2的源代码已发布,我想问一下,有没有关于解读这方面的文章和书的啊。。
    2010年6月25日 2:19
  • 你好,

    AuthorizeAttribute继承于IAuthorizationFilter。

    很明显从字面上就可以看出三者的不同。

    AuthorizeAttribute用于授权验证,IActionFilter 用于在action执行前后做一些处理,IExceptionFilter 用于对一些exception进行处理,IResultFilter用于action返回result前执行result前后对该result进行一些处理。

    这些你都可以在源码中看代码了解。

    关于源码的讲解似乎没有。


    Microsoft Online Community Support
    2010年6月28日 2:09
  • 谢谢,版主!
    2010年6月29日 1:13