本篇文章为大家展示了ASP.NET中有哪些授权模块,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
ASP.NET授权模块主要有两个:FileAuthorizationModule和UrlAuthorizationModule。他们也实现了IHttpModule接口。这些模块可以参照所试用的身份验证类型来决定到底采用哪个ASP.NET授权模块:
如果试用的是Windows身份验证,那么在授权检查的时候就会使用FileAuthorizationModule;
如果在web.config中提供了<authorization/>元素,那么就会采用UrlAuthorizationModule。如下面的:
<authorization> <allow roles ="" users=""/> <deny users=""/> </authorization>
FileAuthorizationModule:
如果使用 Windows身份验证,就会采用FileAuthorizationModule模块。这个模块可以处理Authorization事件,并且能够对IIS提供的请求的令牌和目标资源执行访问检查。而且这也用到了系统的ACL(访问控制列表).
例如,如果请求的资源是Default.aspx,当前的用户是xiaoyang,那么FileAuthorizationModule就会执行访问检查,看看xiaoyang时候具备访问Default.aspx的读的权限,如果在Windows的用户账户中有xiaoyang这个账户,并且具有访问的权限,那么请求成功,否则,FileAuthorizationModule就把Reponse.StatusCode设置为401(未授权),之后请求就结束了。
UrlAuthorizationModule:
和上面的处理模块不一样,不管使用何种类型的身份验证,只要配置了web.config中的<authorization/>元素,就要使用UrlAuthorizationModule模块。这个模块在处理的时候执行如下:
(1)把<authorization/>中声明的用户名和HttpContext.User.Identity进行比较
(2)把<authorization/>声明的角色信息和HttpContext.User.IsInRole比较
如果比较成功就可以访问相应的授权的资源,否则把Reponse.StatusCode设置为401(未授权),之后请求就结束了。
上述内容就是ASP.NET中有哪些授权模块,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。