如何强制只匿名访问控制器操作?
我可以使用[AllowAnonymous]
属性允许用户访问控制器操作,但是是否有一个属性只允许匿名用户执行操作? 例如[AllowAnonymousOnly]
不,它不存在。
但是,您可以通过创建inheritance自AuthorizeAttribute的属性来创建它。
这是一个例子 。
你的看起来像:
public class AllowAnonymousOnlyAttribute : AuthorizeAttribute { protected override bool AuthorizeCore(HttpContextBase httpContext) { // make sure the user is not authenticated. If it's not, return true. Otherwise, return false } }
您可以检查用户的身份validation。 如果用户已登录,则将其重定向远离控制器。 使用MVC的角色提供程序可以实现如下:
if(User.Identity.IsAuthenticated) { return RedirectToRoute("home"); }
如果用户未登录,则将允许用户查看页面的内容。
上述就是C#学习教程:如何强制只匿名访问控制器操作?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1022827.html